k8s Pod生命周期和重啟策略


kubernetes (k8s)Pod生命周期和重啟策略

Pod的狀態描述

狀態值           描述
Pending         API Server已經創建該Pod,但在Pod內還有一個或多個容器的鏡像沒有創建,包括正在下載鏡像的過程。
Runnung         Pod內所有容器均已創建,且至少有一個容器處於運行狀態、正在啟動狀態或正在重啟狀態。
Succeeded       Pod內所有容器均成功執行后退出,且不會再重啟。
Failed          Pod內所有容器均已退出,但至少有一個容器退出為失敗狀態。
Unknown         由於某種原因無法獲取該Pod的狀態,可能由於網絡通信不暢導致。

Pod的重啟策略(RestartPolicy)

Pod的重啟策略(RestartPolicy)應用與Pod內所有容器,並且僅在Pod所處的Node上由kubelet進行判斷和重啟操作。當某個容器異常退出或者健康檢查失敗時,kubelet將根據RestartPolicy的設置來進行相應的操作。

Pod的重啟策略包括:Always、OnFailure和Never,默認值為Always。
Always:當容器失效時,由kubelet自動重啟該容器。
OnFailure:當容器終止運行且退出碼不為0時,由kubelet自動重啟該容器。
Never:不論容器運行狀態如何,kubelet都不會重啟該容器。

Pod的重啟策略與控制方式息息相關,當前可用於管理Pod的控制器包括ReplicationController、Job、DaemonSet及直接通過kubelet管理(靜態Pod)。每種控制器對Pod的重啟策略要求如下:

Pod的重啟策略與控制方式息息相關,當前可用於管理Pod的控制器包括ReplicationController、Job、DaemonSet及直接通過kubelet管理(靜態Pod)。每種控制器對Pod的重啟策略要求如下:

RC和DaemonSet:必須設置為Always,需要保證該容器持續運行。
Job和CronJob:OnFailure或Never,確保容器執行完成后不再重啟。
kubelet:在Pod失效時自動重啟它,不論將RestartPolicy設置為什么值,也不會對Pod進行健康檢查。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM