Kubernetes 自愈

Kubernetes 设计有自愈能力,可帮助维护工作负载的健康状态和可用性。它会自动替换失败的容器,在节点不可用时重新调度工作负载,并确保系统保持其期望状态。

自愈能力

  • 容器级别重启:如果 Pod 中的容器失败,Kubernetes 会根据其 restartPolicy 重新启动它。

  • 副本替换:如果 DeploymentStatefulSet 中的 Pod 失败,Kubernetes 会创建一个替代 Pod 以维持指定的副本数量。如果属于 DaemonSet 的 Pod 失败,控制平面会创建一个替代 Pod 在同一节点上运行。

  • 持久存储恢复:如果一个节点正在运行带有 PersistentVolume (PV) 的 Pod,并且该节点失败,Kubernetes 可以将该卷重新挂接到不同节点上的新 Pod。

  • 服务的负载均衡:如果 Service 后面的 Pod 失败,Kubernetes 会自动将其从 Service 的端点中移除,以便仅将流量路由到健康的 Pod。

以下是一些提供 Kubernetes 自愈能力的关键组件

  • kubelet确保容器正在运行,并重启失败的容器。

  • ReplicaSet、StatefulSet 和 DaemonSet 控制器:维护所需的 Pod 副本数量。

  • PersistentVolume 控制器:管理有状态工作负载的卷附着和解除附着。

注意事项

  • 存储故障:如果持久卷变得不可用,可能需要恢复步骤。

  • 应用错误:Kubernetes 可以重启容器,但潜在的应用问题必须单独解决。

接下来

最后修改于太平洋标准时间 2025 年 3 月 26 日下午 9:17:修复:移除多余的 ` (e23a8ba300)