官术网_书友最值得收藏!

3.7 Pod生命周期和重啟策略

Pod在整個生命周期中被系統定義為各種狀態,熟悉Pod的各種狀態對于理解如何設置Pod的調度策略、重啟策略是很有必要的。

Pod的狀態如表3.2所示。

表3.2 Pod的狀態

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

Pod的重啟策略包括Always、OnFailure和Never,默認值為Always。

◎ Always:當容器失效時,由kubelet自動重啟該容器。

◎ OnFailure:當容器終止運行且退出碼不為0時,由kubelet自動重啟該容器。

◎ Never:不論容器運行狀態如何,kubelet都不會重啟該容器。

kubelet重啟失效容器的時間間隔以sync-frequency乘以2n來計算,例如1、2、4、8倍等,最長延時5min,并且在成功重啟后的10min后重置該時間。

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

◎ RC和DaemonSet:必須設置為Always,需要保證該容器持續運行。

◎ Job:OnFailure或Never,確保容器執行完成后不再重啟。

◎ kubelet:在Pod失效時自動重啟它,不論將RestartPolicy設置為什么值,也不會對Pod進行健康檢查。

結合Pod的狀態和重啟策略,表3.3列出一些常見的狀態轉換場景。

表3.3 一些常見的狀態轉換場景

主站蜘蛛池模板: 宁陕县| 旺苍县| 伊吾县| 南投县| 信阳市| 揭阳市| 宁南县| 温宿县| 宁南县| 罗平县| 新田县| 沙洋县| 鹰潭市| 驻马店市| 保康县| 德令哈市| 彰武县| 彰化市| 巴青县| 长子县| 孟州市| 齐齐哈尔市| 桂平市| 东宁县| 老河口市| 图们市| 巴青县| 贵港市| 固原市| 扶余县| 自贡市| 肥城市| 德州市| 惠东县| 平果县| 喜德县| 麦盖提县| 葵青区| 保德县| 兰考县| 莫力|