Kubernetes 自愈
Kubernetes 设计有自愈能力,可帮助维护工作负载的健康状态和可用性。它会自动替换失败的容器,在节点不可用时重新调度工作负载,并确保系统保持其期望状态。
自愈能力
容器级别重启:如果 Pod 中的容器失败,Kubernetes 会根据其
restartPolicy
重新启动它。副本替换:如果 Deployment 或 StatefulSet 中的 Pod 失败,Kubernetes 会创建一个替代 Pod 以维持指定的副本数量。如果属于 DaemonSet 的 Pod 失败,控制平面会创建一个替代 Pod 在同一节点上运行。
持久存储恢复:如果一个节点正在运行带有 PersistentVolume (PV) 的 Pod,并且该节点失败,Kubernetes 可以将该卷重新挂接到不同节点上的新 Pod。
服务的负载均衡:如果 Service 后面的 Pod 失败,Kubernetes 会自动将其从 Service 的端点中移除,以便仅将流量路由到健康的 Pod。
以下是一些提供 Kubernetes 自愈能力的关键组件
kubelet:确保容器正在运行,并重启失败的容器。
ReplicaSet、StatefulSet 和 DaemonSet 控制器:维护所需的 Pod 副本数量。
PersistentVolume 控制器:管理有状态工作负载的卷附着和解除附着。
注意事项
存储故障:如果持久卷变得不可用,可能需要恢复步骤。
应用错误:Kubernetes 可以重启容器,但潜在的应用问题必须单独解决。
接下来
- 深入了解 Pod
- 了解 Kubernetes 控制器
- 探索 PersistentVolume
- 阅读关于节点自动扩缩的内容。当集群中的节点发生故障时,节点自动扩缩也能提供自动修复。
最后修改于太平洋标准时间 2025 年 3 月 26 日下午 9:17:修复:移除多余的 ` (e23a8ba300)