Kubernetes 自我修復
Kubernetes 被設計為具有自我修復能力,有助於維持工作負載的健康和可用性。它會自動替換失敗的容器,在節點不可用時重新排程工作負載,並確保系統保持期望的狀態。
自我修復能力
容器級重啟:如果 Pod 內的容器失敗,Kubernetes 會根據
restartPolicy重啟它。副本替換:如果 Deployment 或 StatefulSet 中的 Pod 失敗,Kubernetes 會建立一個替換 Pod 以維持指定數量的副本。如果 DaemonSet 中的 Pod 失敗,控制平面會建立一個替換 Pod 以在同一節點上執行。
持久儲存恢復:如果某個節點執行著帶有 PersistentVolume(PV)的 Pod,並且該節點失敗,Kubernetes 可以將該卷重新連線到不同節點上的新 Pod。
Service 的負載均衡:如果 Service 後面的 Pod 失敗,Kubernetes 會自動將其從 Service 的端點中移除,以便僅將流量路由到健康的 Pod。
以下是一些提供 Kubernetes 自我修復的關鍵元件
kubelet:確保容器正在執行,並重啟那些失敗的容器。
ReplicaSet、StatefulSet 和 DaemonSet 控制器:維持所需的 Pod 副本數量。
PersistentVolume 控制器:管理有狀態工作負載的卷掛載和解除安裝。
注意事項
儲存故障:如果持久卷變得不可用,可能需要恢復步驟。
應用程式錯誤:Kubernetes 可以重啟容器,但底層的應用程式問題必須單獨處理。
下一步
- 閱讀更多關於 Pod 的資訊
- 瞭解 Kubernetes 控制器
- 探索 PersistentVolumes
- 閱讀關於節點自動擴縮。如果或當叢集中的節點失敗時,節點自動擴縮也提供自動修復功能。
上次修改時間:2025 年 4 月 15 日太平洋標準時間下午 5:54:移動登入頁面的自我修復引用位置 (350a056f25)