我构建了一个简单的 NodeJS API,将 Docker 镜像推送到一个存储库,并使用 Helm 安装将其部署到我的 k8s(工作得很好)。
pullPolicy 是 Always
.
现在我想更新源代码并部署我的应用程序的更新版本。我修改了所有文件中的版本,构建并推送了新的 Docker 镜像并尝试了 helm upgrade
但似乎什么也没发生。
与 helm list
我可以看到已部署修订版,但未部署对源代码的更改。watch kubectl get pods
还显示没有以您期望的方式创建新的 Pod kubectl --apply...
我做错了什么?
最佳答案
仅当有更改要发布时,Helm 才会发布对 kubernetes 对象的更改。如果您使用 :latest
没有要应用于部署文件的更改,因此没有 Pod 会滚动更新。继续使用 latest
,您需要添加一些内容(即带有 sha/version 的标签),这些内容将更改并导致部署由 helm 更新。还要记住,您通常需要 ImagePullPolicy: Always
以及。
关于kubernetes - Helm 升级不会拉新容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46336852/