
如果我要在 Kubernetes 主節點上執行 sudo 重啟,Kubernetes 是否足夠聰明,可以從叢集中耗盡自身資源?
假設我有一個 Web 服務正在運行一個剛好落在主節點上的 Pod。如果我要「sudo restart」主節點,他會告訴另一個節點在他死之前啟動一個副本嗎?
答案1
這不是 Kubernetes 的預期行為。實際上,K8s 代表主節點控制平面用於所有集群管理的操作。每個節點的主要貢獻者是:庫貝萊特,kube代理,以及容器運行時軟體(Docker、cri-o 等)。
每當您希望在特定節點(主節點、工作節點)上重新啟動作業系統時,K8s 叢集引擎不會意識到該操作,並且會將所有叢集相關事件保留在ETCD鍵值存儲,備份最新資料。一旦您希望仔細準備叢集節點重新啟動,您可能需要調整維護在此節點上執行作業,以便將其從調度中耗盡並正常終止所有現有 Pod。
如果您在定義的集合中編寫任何相關的 K8s 資源複製品, 然後複製控制器保證在任一時間透過每個可用節點運行指定數量的 Pod 副本。如果 Pod 未通過健康檢查、刪除或終止,它只會重新產生 Pod,以符合所需的副本。