Kubernetes 自我修复

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

自我修复能力

  • 容器级重启:如果 Pod 内的容器失败,Kubernetes 会根据 restartPolicy 重启它。

  • 副本替换:如果 DeploymentStatefulSet 中的 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 可以重启容器,但底层的应用程序问题必须单独处理。

下一步

上次修改时间:2025 年 4 月 15 日太平洋标准时间下午 5:54:移动登录页面的自我修复引用位置 (350a056f25)