Joh*_*ohn 9 kubernetes kubectl
我想更新我的 Pod,因为有一个带有latest标签的新镜像上传到了 docker 注册表。
我目前正在这样做:
kubectl delete -f deployment.yaml
kubectl apply -f deployment.yaml
Run Code Online (Sandbox Code Playgroud)
如果我做:
kubectl apply -f deployment.yaml
Run Code Online (Sandbox Code Playgroud)
它说我的部署没有改变。
然而,我想让我的服务活跃起来,哪怕是一秒钟。难道我就没有办法做类似下面的事情吗?
kubectl re-apply -f deployment.yaml
Run Code Online (Sandbox Code Playgroud)
Har*_*var 12
您只需删除 POD 一次并重新启动 POD,这样它将更改映像并从 docker 注册表中提取新版本。
但是,请确保imagePullPolicy在您的deployment.yaml
否则,您需要更新一个次要字段deployment.yaml并始终imagePullPolicy保持不变,否则应用将更改部署。
例子:
spec:
containers:
- name: test
image: image:latest
ports:
- containerPort: 80
imagePullPolicy: Always
imagePullSecrets:
- name: docker-secret
Run Code Online (Sandbox Code Playgroud)
选项2
kubectl rollout restart deployment/<deployment-name>
Run Code Online (Sandbox Code Playgroud)
阅读更多内容:如何强制 Kubernetes 重新拉取镜像?
| 归档时间: |
|
| 查看次数: |
12790 次 |
| 最近记录: |