问题场景
-
Pod 状态卡在
ImagePullBackOff
或ErrImagePull
,无法正常启动。 -
直接删除 Pod 后,旧版本 Pod 仍被重建,无法彻底清理。
核心解决方案:强制更新 Deployment 镜像
kubectl edit deployment fsts-shdr -n fsts
-
在打开的 YAML 中找到
spec.template.spec.containers.image
字段,修改为正确镜像地址(如nginx:1.21
→nginx:1.23
)。 -
保存退出后,K8s 自动触发 滚动更新,创建新 Pod 并逐步替换旧 Pod
2.验证更新状态
# 查看滚动更新进度
kubectl rollout status deployment/fsts-shdr -n fsts
# 查看新 Pod 是否正常运行
kubectl get pods -n fsts -l app=fsts-shdr
进阶操作:彻底清理残留 Pod
若旧 Pod 未自动终止,手动强制删除:
# 1. 删除 Deployment 管理的所有 Pod(自动重建新 Pod)
kubectl delete pods -n fsts -l app=fsts-shdr
# 2. 若 Pod 卡在 Terminating 状态,强制删除
kubectl delete pod <pod-name> -n fsts --grace-period=0 --force