helm upgrade 如何处理部署更新?

How does helm upgrade handle the deployment update?

假设我们有一个应用程序的 helm chart,我们希望通过更改部署的映像版本来随着时间的推移升级该应用程序,并使用:helm upgrade --install my-app-release; 问题是:helm 是使用部署清单中定义的滚动更新策略还是以不同方式处理升级?

它使用部署清单中定义的策略。

从技术上讲,每次 PodSpec 更改时都会应用部署清单中定义的更新策略,无论它是通过 helm 还是 kubectl 或其他方式进行更改。并且仅当 PodSpec 发生变化时。

看看kubectl rollout restart(即手动触发更新策略的 kubectl 命令)是如何工作的:

请注意,更改 Deployment 上的注释不会触发发布,更改后的注释必须在 Pod 上。