Middle
Mi történik, ha a liveness-próba nem sikerül Kubernetesben?
sobes.tech MI
Válasz az MI-től
Ha a pod nem sikerül a liveness-próbát, a Kubernetes végrehajtja a manifestben megadott műveletet. Alapértelmezés szerint ez a konténer újraindítása.
Lehetséges műveletek liveness-próba sikertelensége esetén:
- Újraindítás: A konténer újraindítása a podon belül. Ez az alapértelmezett művelet.
- Nincs: A Kubernetes nem tesz semmit liveness-próba sikertelensége esetén. A konténer a jelenlegi állapotában marad (
RunningvagyCrashing). - Parancs végrehajtása: Egy adott parancs végrehajtása a konténerben. Ha a parancs nem null visszatérési kóddal fejeződik be, a liveness-próba sikertelennek számít.
Alapértelmezett művelettel (Újraindítás) szcenárió:
- a kubelet a csomóponton rendszeresen ellenőrzi a konténert a liveness-próba segítségével.
- A liveness-próba feltétele nem teljesül (pl. az HTTP szerver nem válaszol, a parancs hibával fejeződik be).
- a kubelet rögzíti a próba sikertelenségét.
- Néhány sikertelen próbálkozás után (amelyeket a
failureThreshold,initialDelaySeconds,periodSeconds,timeoutSecondsparaméterekkel lehet beállítani) a kubelet meghatározza, hogy a konténer hibás. - a kubelet küldi a
SIGKILLjelet a hibás konténernek. - A konténer befejeződik.
- a kubelet újraindítja a konténert ugyanabban a podban.
- A liveness-próba folytatódik.
Fontos megkülönböztetni a liveness-próbát a readiness-próbától. A readiness-próba meghatározza, hogy a konténer készen áll-e a forgalom fogadására. A readiness-próba sikertelensége miatt a Service nem irányít forgalmat erre a pod példányra, de a konténer nem újraindul. A liveness-próba sikertelensége hibát jelez, és újraindítást igényel.
# Példa a liveness-próbára a spec.containers-ben
containers:
- name: my-container
image: my-image:latest
livenessProbe:
httpGet:
path: /healthz
port: 8080
initialDelaySeconds: 15 # Első ellenőrzés előtti késleltetés
periodSeconds: 20 # Ellenőrzések közötti intervallum
timeoutSeconds: 5 # Válasz várakozási idő
failureThreshold: 3 # Sikertelen próbálkozások száma a újraindítás előtt