前言
1:如何構造pod原地重啓,即pod ip不發生改變
2: 怎麼構造pod init容器多次執行
3: 當pod 非init容器全部刪除,是否會導致pod所有容器全部執行?
摘自:https://kubernetes.io/zh/docs/concepts/workloads/pods/init-containers/
正文
0: pod定義
與單個應用容器一樣,pod被認爲是相對短暫的(而不是持久的)實體。正如在pod的生命週期中所討論的,創建pod,分配唯一ID(UID),並調度到它們保留的節點,直到終止(根據重啓策略)或刪除。如果節點終止,則在超時期限之後,將調度到該節點的Pod刪除。給定的pod(由UID定義)不會“重新安排”到新節點; 相反,它可以被相同的pod替換,如果需要,甚至可以使用相同的名稱,但是具有新的UID。
https://skyao.io/learning-kubernetes/concept/pod/pods.html
1:如何構造pod原地重啓,即pod ip不發生改變
2:怎麼構造pod init容器多次執行
- 用戶更新 PodSpec 導致 Init 容器鏡像發生改變。應用容器鏡像的變更只會重啓應用容器。
- Pod 基礎設施容器被重啓。這不多見,但某些具有 root 權限可訪問 Node 的人可能會這樣做。
- 當 restartPolicy 設置爲 Always,Pod 中所有容器會終止,強制重啓,由於垃圾收集導致 Init 容器完成的記錄丟失。
3:當pod 非init容器全部刪除,是否會導致pod所有容器全部執行?
同時kill 所有非init容器,pod只是重啓對應kill的容器,pod並不會變更,init容器也不會再次執行。