首页/云/Kubernetes 速查/imagePullPolicy 拉取策略与生效规则

imagePullPolicy 拉取策略与生效规则

控制 kubelet 何时拉镜像:Always/IfNotPresent/Never;不写时默认值随镜像 tag 变化,是「改了镜像没生效」的常见根因。

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

取值与默认

取值行为何时为默认
IfNotPresent本地有则不再拉取镜像 tag 非 latest(含指定 tag/digest)
Always每次启动都拉取镜像 tag 为 latest 或省略 tag
Never只用本地镜像从不默认,需显式设置

显式声明与排查

显式声明与排查
kubectl get deploy web -o jsonpath='{.spec.template.spec.containers[*].imagePullPolicy}'
kubectl describe pod web-x | grep -i -A2 'Image'
kubectl get events --field-selector reason=Failed
生产环境建议明确写 imagePullPolicy 并用固定版本 tag 或 digest,行为可预期。

易错点

  • 用 latest + IfNotPresent 时节点上旧镜像不会更新,可能长期跑旧版本
  • 私有仓库拉取失败(ImagePullBackOff)先查 imagePullSecrets 与仓库凭据是否匹配该命名空间

数据来源与参考

  • Kubernetes 官方文档 · Images(Updating Images)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌