全书目录

第十一篇:Kubernetes 完全指南 —— 星际舰队宇宙

第九章:自愈 —— Kubernetes 会“修什么”,不会“修什么”

1 分钟 367 字 第 232 / 962 个阅读单元

很多人一听自愈,就误以为 Kubernetes 会自动修复一切。

不是。

它真正擅长的是:把运行形态拉回你声明的目标。

类比成舰队:

  • 一个任务舱炸了,补一个新的
  • 某艘母舰挂了,把任务舱调到别的母舰
  • 某个入口后端不健康了,把它从流量名单里摘掉

Kubernetes 自愈大致分三层:

text
容器坏了   -> kubelet 按策略重启容器
Pod 坏了    -> Deployment / StatefulSet 补新 Pod
Node 坏了   -> 控制平面在别处重建可替代的 Pod

配合探针理解最好:

  • livenessProbe:你死没死,死了重启
  • readinessProbe:你现在能不能接流量,不能就先摘流
  • startupProbe:你是不是启动慢,避免还没起来就被错杀

所以 Kubernetes 的“自愈”不是:

  • 修复你代码里的死锁
  • 修复你错误的 SQL
  • 修复内存泄漏根因
  • 保证数据库绝不丢数据

它能做的是:

  • 重启
  • 替换
  • 重新调度
  • 重新接线

一句很重要的话:

Kubernetes 擅长替换坏实例,不擅长理解你的业务语义。