k8s Pod生命週期和重啟策略

2022-06-06 06:45:12 字數 1103 閱讀 2034

kubernetes (k8s)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進行健康檢查。

k8s pod自動重啟原因(jvm記憶體設定)

k8s集群環境下,docker容器中執行映象方式啟動springboot專案。由於製作的映象未對jvm的記憶體進行配置,那麼 jvm 會預設設定堆疊的大小,這個大小是根據物理機的記憶體進行分配的。那麼物理機的記憶體越大,預設分配的記憶體就越大 最大堆疊 1 4 物理機記憶體,初始堆疊 1 64 物理...

Pod 生命週期和重啟策略

pod 在整個生命週期中被系統定義為各種狀態,熟悉 pod 的各種狀態對於理解如何設定 pod 的排程策略 重啟策略是很有必要的。pod 的狀態 狀態值描述 pending running pod 內所有容器均已建立,且至少有乙個容器處於執行狀態 正在啟動狀態或正在重啟狀態 succeeded po...

執行緒池的生命週期和拒絕策略

執行緒有5種狀態 新建狀態,就緒狀態,執行狀態,阻塞狀態,死亡狀態。執行緒池也有5種狀態 然而,執行緒池不同於執行緒,執行緒池的5種狀態是 running,shutdown,stop,tidying,terminated。執行緒池狀態定義 如下 private final atomicinteger...