首页/云/Kubernetes 速查/restartPolicy 重启策略

restartPolicy 重启策略

定义容器退出后 kubelet 是否重启:Always(默认)、OnFailure、Never;对 Job/CronJob 与一次性任务影响显著。

Kubernetes 速查云更新于 2026-10-12

取值与语义

取值重启时机典型用途
Always容器退出即重启(不论退出码)长期服务 Pod(默认)
OnFailure仅非 0 退出时重启Job:失败重试,成功即止
Never从不重启一次性调试/校验任务

查看与设置

查看与设置
kubectl get pod web-x -o jsonpath='{.spec.restartPolicy}'
kubectl get pod job-x -o jsonpath='{.status.containerStatuses[0].restartCount}'
restartPolicy 针对 Pod 内所有容器统一生效;Job 的 spec.template 只允许 Never/OnFailure。

易错点

  • Job 里写 Always 会被拒绝(校验不通过),需显式写 Never 或 OnFailure
  • 容器反复失败时重启会退避(10s 起倍增,最长 5 分钟),即 CrashLoopBackOff 的由来

数据来源与参考

  • Kubernetes 官方文档 · Pod Lifecycle(Restart policy)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌