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)