您好,登錄后才能下訂單哦!
這篇文章主要講解了“Pod退出的流程是怎樣的”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Pod退出的流程是怎樣的”吧!
用戶刪除 Pod。
2.1. Pod 進入 Terminating 狀態。
2.2. 與此同時,K8s 會將 Pod 從對應的 service 上摘除。
2.3. 與此同時,針對有 PreStop Hook 的容器,kubelet 會調用每個容器的 PreStop Hook,假如 PreStop Hook 的運行時間超出了 grace period(在 Pod 的 .spec.terminationGracePeriodSeconds 字段中定義),kubelet 會發送 SIGTERM 并再等 2 秒。
2.4. 與此同時,針對沒有 PreStop Hook 的容器,kubelet 發送 SIGTERM。
grace period 超出之后,kubelet 發送 SIGKILL 干掉尚未退出的容器。
因此,K8s 的 Pod 終止流程中還有一個“最多可以容忍的時間”,即 grace period(在 Pod 的 .spec.terminationGracePeriodSeconds 字段中定義),這個值默認是 30 秒,我們在執行 kubectl delete 的時候也可通過 --grace-period 參數顯式指定一個優雅退出時間來覆蓋 Pod 中的配置。而當 grace period 超出之后,K8s 就只能選擇 SIGKILL 強制干掉 Pod 了。
---------------------
k8s版本 1.11.2
terminationGracePeriodSeconds :300
lifecycle:
preStop:
exec:
command: ["/bin/bash", "-c", "sleep 300"]
設置相同效果是:30s
設置不同以terminationGracePeriodSeconds > preStop sleep 。
以 preStop sleep為準
=================對外提供服務的============================
terminationGracePeriodSeconds =360
preStop sleep=300
==================task任務類型的=================
terminationGracePeriodSeconds =3
preStop sleep=2
感謝各位的閱讀,以上就是“Pod退出的流程是怎樣的”的內容了,經過本文的學習后,相信大家對Pod退出的流程是怎樣的這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。