Pod

Kubernetes dla każdego – sztuka konteneryzacji

Pod

Cykl życia podów

Default grace period

Init Containers

Container Probes

Diagnowstyka uruchamiana okreowo przez kubelet na kontenerze. W celu wykonania diagnostyki, kubelet odpytuje Handler zaimplementowany przez kontener Zapewnia, że proces jest uruchomiony. Jeśli zauważy, że kontener nie jest w stanie Running lub Succeded automatycznie wykona jego restart.

Stany: Success, Failure, Unknown

Typy:

Konfiguracja sond:

Liveness Probe

Określa czy kontener działa. Definicję sondy dołączamy do definicji poda i dotyczyć może każdego z naszych kontenerów. Jeśli próbka nie powiedzie się to Kubernetes automatycznie zrestartuje kontener.

Readiness Probe

Sprawdza czy kontener jest w stanie dostarczać odpowiedzi (przyjąć ruch przychodzący). Jeśli nie jego, to kontener jest odpinany z serwisu ponad podem i ruch nie jest do niego kierowany.

Kubelet

Labels

Odpowiednik tagów w Azure.

Annotations

YAML

apiVersion: v1
kind: Pod
metadata:
  name: nginx
  labels:
    name: nginx
spec:
  containers:
  - name: nginx
    image: nginx
    ports:
    - containerPort: 80

kubectl create -f pod.yaml Utworzenie poda z pliku

kubectl create -f pod.yaml --save-config=true utworzenie poda z pliku z zapamiętaną konfiguracją - konfiguracja obiektu zostanie zapisana w annotacjach, pozwala na zaktualizowanie definicji

kubectl apply -f pod.yaml Utworzenie lub update poda z pliku

kubectl replace -f pod.yaml zamiana poda, usuwa obecny i tworzy nowy

Praca imperatywna

kubectl run NAME --image=IMAGE --generator=run-pod/v1

kubectl run NAME --image=IMAGE --restart=Never

kubectl run busybox --image=busybox --restart=Never --dry-run -o yaml > pod2.yaml

Kubernetes pods life

kubernetes-pods-life

lifecycle:
  postStart:
    exec:
      command: komenda
  preStop:
    exec:
      command: komenda

Zasoby

Quality of Service