Den*_*boy 10 kubernetes dockerhub
我有一个使用image的Kubernetes部署:( test:latest不是真实的图像名称,但它是最新的标签).此图像位于docker hub上.我刚推送了一个新版本的test:latestdockerhub.我期待在Kubernetes中重新部署我的pod,但没有任何事情发生.
我已经像这样创建了我的部署:
kubectl run sample-app --image=`test:latest` --namespace=sample-app --image-pull-policy Always
Run Code Online (Sandbox Code Playgroud)
为什么在推送新图像后没有触发新的部署?
Jan*_*art 10
Kubernetes 没有关注图像的新版本.图像拉取策略指定如何获取图像以运行容器.Always意味着它会在每次启动容器时尝试拉出新版本.要查看更新,您需要删除Pod(而不是部署) - 新创建的Pod将运行新映像.
没有直接的方法让Kubernetes使用新图像自动更新正在运行的容器.这将是连续传送系统的一部分(可能使用kubectl set image新的sha256sum或图像标签 - 但不是latest).
Ian*_*cer 10
强制更新的一种方法是在 CI 脚本中运行此命令(在推送新映像并在应用的 yaml 中image-pull-policy设置为之后):Always
kubectl rollout restart deployment/<name> --namespace=<namespace>
在 Azure Devops 中输入“rollout”作为命令,使用上面的命名空间功能并在参数字段中输入“restart ...”。
| 归档时间: |
|
| 查看次数: |
7329 次 |
| 最近记录: |