Sprytne Okazje — promocje, kody rabatowe i wyprzedaże

Generator deploymentu Kubernetes — konfiguracja YAML online

Generuj konfiguracje Kubernetes Deployment, Service i Ingress w YAML. Wybierz obraz, repliki, resources limits. Pobierz gotowy YAML.

Bezpieczne (SSL)
Przetwarzanie Lokalne
100% Darmowe
Instrukcja
  • 1
    Wprowadź dane
    Wpisz treść, wklej tekst lub załaduj plik z dysku.
  • 2
    Kliknij przycisk
    Narzędzie natychmiast przetworzy Twoje dane w przeglądarce.
  • 3
    Pobierz wynik
    Skopiuj gotowy tekst lub zapisz plik na urządzeniu.
function runTool() {
  return "Wynik gotowy w 0.1s";
}
apiVersion: apps/v1
kind: Deployment
metadata:
  name: demo-api
  namespace: default
  labels:
    app: demo-api
    tier: backend
    team: platform
    environment: staging
  annotations:
    maintainer: "[email protected]"
    build: manual
spec:
  replicas: 2
  selector:
    matchLabels:
      app: demo-api
  strategy:
    type: RollingUpdate
    rollingUpdate:
      maxSurge: 25%
      maxUnavailable: 25%
  template:
    metadata:
      labels:
        app: demo-api
        tier: backend
        team: platform
        environment: staging
      annotations:
        maintainer: "[email protected]"
        build: manual
    spec:
      containers:
        - name: demo-api
          image: "nginx:1.25-alpine"
          imagePullPolicy: IfNotPresent
          ports:
            - name: http
              containerPort: 8080
          env:
            - name: LOG_LEVEL
              value: info
            - name: APP_ENV
              value: staging
            - name: API_BASE_URL
              value: "https://api.example.internal"
          resources:
            requests:
              cpu: 100m
              memory: 128Mi
            limits:
              cpu: 500m
              memory: 512Mi
          readinessProbe:
            httpGet:
              path: /healthz
              port: 8080
            initialDelaySeconds: 10
            periodSeconds: 10
            timeoutSeconds: 2
            failureThreshold: 3
          livenessProbe:
            httpGet:
              path: /healthz
              port: 8080
            initialDelaySeconds: 15
            periodSeconds: 10
            timeoutSeconds: 2
            failureThreshold: 3
---
apiVersion: v1
kind: Service
metadata:
  name: demo-api
  namespace: default
  labels:
    app: demo-api
    tier: backend
    team: platform
    environment: staging
spec:
  type: ClusterIP
  selector:
    app: demo-api
  ports:
    - name: http
      port: 80
      targetPort: 8080
raw: apiVersion: apps/v1 kind: Deployment metadata: name: demo-api namespace: default labels: app: demo-api tier: backend team: platform environment: staging annotations: maintainer: "[email protected]" build: manual spec: replicas: 2 selector: matchLabels: app: demo-api strategy: type: RollingUpdate rollingUpdate: maxSurge: 25% maxUnavailable: 25% template: metadata: labels: app: demo-api tier: backend team: platform environment: staging annotations: maintainer: "[email protected]" build: manual spec: containers: - name: demo-api image: "nginx:1.25-alpine" imagePullPolicy: IfNotPresent ports: - name: http containerPort: 8080 env: - name: LOG_LEVEL value: info - name: APP_ENV value: staging - name: API_BASE_URL value: "https://api.example.internal" resources: requests: cpu: 100m memory: 128Mi limits: cpu: 500m memory: 512Mi readinessProbe: httpGet: path: /healthz port: 8080 initialDelaySeconds: 10 periodSeconds: 10 timeoutSeconds: 2 failureThreshold: 3 livenessProbe: httpGet: path: /healthz port: 8080 initialDelaySeconds: 15 periodSeconds: 10 timeoutSeconds: 2 failureThreshold: 3

Oceń to narzędzie:

Powiązane narzędzia

Inne narzędzia, które mogą Ci się przydać

Generator deploymentu Kubernetes – stwórz poprawną specyfikację YAML online

Zarządzanie aplikacjami w nowoczesnej chmurze obliczeniowej i architekturze mikroserwisowej opiera się w dużej mierze na orkiestratorze Kubernetes (często skracanym jako K8s). Podstawowym sposobem definiowania sposobu uruchomienia aplikacji, liczby jej kopii oraz sposobu dostępu do niej jest plik konfiguracyjny YAML. Niestety, składnia YAML jest wyjątkowo rygorystyczna – jeden niewłaściwy znak spacji, nieprawidłowe wcięcie lub literówka w nazwie parametru mogą sprawić, że wdrożenie zakończy się błędem. Nasz generator deploymentu Kubernetes online to darmowe, intuicyjne narzędzie programistyczne, które pozwala wykluczyć błędy składniowe i w kilka sekund stworzyć kompletny, gotowy do wdrożenia plik konfiguracyjny (zarówno dla zasobu typu Deployment, jak i Service).

Wystarczy wypełnić podstawowe pola formularza, takie jak nazwa aplikacji, obraz kontenera z Docker Hub lub innego rejestru, port kontenera oraz liczba replik, a generator automatycznie stworzy poprawny i czysty kod YAML.

Podstawowe sekcje pliku YAML dla Deploymentu w Kubernetes

Prawidłowo sformatowana specyfikacja Deploymentu składa się z kilku kluczowych sekcji, z których każda odpowiada za inny aspekt działania aplikacji. Poniższa tabela przedstawia strukturę standardowego pliku YAML:

Klucz (Parametr YAML) Typ danych Przeznaczenie i rola w konfiguracji Przykładowa wartość
apiVersion Ciąg znaków Określa wersję API Kubernetes używaną do utworzenia tego obiektu. apps/v1
kind Ciąg znaków Definiuje typ zasobu, jaki ma zostać utworzony w klastrze. Deployment
metadata.name Ciąg znaków Unikalna nazwa wdrożenia w ramach wybranego namespace. moja-aplikacja-deployment
spec.replicas Liczba całkowita Określa docelową liczbę uruchomionych instancji (Podów) aplikacji. 3
spec.template.spec.containers Lista obiektów Definiuje szczegóły dotyczące obrazów kontenerów, portów i zmiennych. image: nginx:latest

Dobre praktyki przy tworzeniu deploymentów w K8s

Podczas projektowania konfiguracji dla środowisk produkcyjnych warto pamiętać o kilku istotnych zasadach bezpieczeństwa i wydajności:

  • Zdefiniuj limity zasobów (Resources Limits & Requests): Zawsze określaj maksymalne i minimalne zapotrzebowanie na procesor (CPU) i pamięć RAM dla każdego kontenera, aby zapobiec przeciążeniu węzłów klastra.
  • Używaj sond sprawności (Liveness & Readiness Probes): Sondy te pozwalają Kubernetesowi monitorować stan zdrowia aplikacji i automatycznie restartować zawieszone kontenery oraz kierować ruch sieciowy tylko do w pełni gotowych instancji.
  • Stosuj etykiety (Labels): Etykiety są kluczowe dla prawidłowego działania mechanizmu selektorów w serwisach (Services) oraz podczas monitorowania i zarządzania zasobami.
  • Nigdy nie używaj tagu ":latest" na produkcji: Zamiast tego zawsze wskazuj konkretną wersję obrazu (np. ":1.25.3"), aby zagwarantować powtarzalność i stabilność wdrożeń.

Jak wygenerować i wdrożyć plik YAML krok po kroku?

Korzystanie z generatora i uruchomienie aplikacji w klastrze K8s sprowadza się do prostego procesu:

  1. Uzupełnij metadane: Wpisz nazwę swojej aplikacji oraz namespace (przestrzeń nazw), w której ma zostać uruchomiona.
  2. Skonfiguruj kontener: Podaj pełną ścieżkę do obrazu kontenera, port, na którym nasłuchuje aplikacja, oraz określ liczbę replik (kopii).
  3. Wygeneruj kod: Kliknij przycisk generowania, aby natychmiast otrzymać sformatowany kod YAML.
  4. Zastosuj w klastrze: Zapisz wygenerowaną treść do pliku (np. deployment.yaml) i wykonaj w terminalu komendę: kubectl apply -f deployment.yaml.

Często zadawane pytania (FAQ)

Czym różni się Pod od Deploymentu w Kubernetes?

Pod to najmniejsza, podstawowa jednostka w Kubernetesie, reprezentująca jeden lub więcej kontenerów. Deployment to obiekt wyższego poziomu, który zarządza Podami – odpowiada za ich skalowanie, automatyczne odtwarzanie w przypadku awarii oraz wdrażanie nowych wersji aplikacji bez przestojów.

Dlaczego wcięcie spacji w YAML jest tak ważne?

Format YAML opiera się na strukturze wcięć (indentacji) realizowanej wyłącznie za pomocą spacji (tabulatory są niedozwolone). Wcięcia określają relacje nadrzędności i podrzędności danych. Błąd w liczbie spacji zmienia strukturę logiczną pliku, co uniemożliwia jego odczyt przez Kubernetes.

Jak wystawić aplikację na świat po wdrożeniu Deploymentu?

Sam Deployment nie wystawia aplikacji na zewnątrz klastra. Aby to zrobić, musisz utworzyć obiekt typu Service (np. z typem LoadBalancer lub NodePort) albo skonfigurować Ingress, który przekieruje ruch zewnętrzny do Podów zarządzanych przez dany Deployment.

Co to są limity (limits) i żądania (requests) zasobów?

Żądania (requests) to minimalna ilość CPU i pamięci RAM, jaką Kubernetes musi zagwarantować Podowi na węźle klastra podczas planowania. Limity (limits) to maksymalna ilość zasobów, jaką Pod może fizycznie zużyć. Przekroczenie limitu pamięci RAM skutkuje ubiciem kontenera (błąd OOMKilled).

Czy wygenerowany plik YAML można edytować ręcznie?

Tak, wygenerowany plik konfiguracyjny jest zwykłym dokumentem tekstowym. Możesz go pobrać lub skopiować, a następnie dowolnie modyfikować w swoim ulubionym edytorze kodu (np. VS Code), dodając zaawansowane parametry, takie jak wolumeny (Volumes) czy zmiennes środowiskowe.

Zainstaluj Webp.pl Miej narzędzia we własnej kieszeni!