如何同时更新多个部署并仅在所有部署成功时进行部署?

时间:2017-05-17 18:16:15

标签: kubernetes

我以前不确定我是否看过这种功能,但我相信我去年秋天做过。但是我现在似乎无法找到任何文档,所以我想我会在这里问。

我有一堆用kubernetes设置的微服务。目前,当一个新版本的微服务准备发布时,我会进行kubectl set image更新部署的映像。如果卷展栏卡住,则旧图像永远不会被删除。因此,我们的微服务保持不变。

但是,我想知道如何使用与上述相同的功能同时更新多个微服务。

具体来说,让我说我有一个依赖后端服务的前端服务。让我们说前端在版本1中对后端进行具有特定签名的POST。如果在版本2中,该签名发生更改,我需要同时更新我的​​前端和后端服务。如果任一部署卡住了,我也不希望部署,因为这会导致两个微服务都无法工作。

所以我的问题是,你如何同时更新kubernetes中的多个部署,同时确保在所有新映像成功启动之前不会删除任何旧映像?

1 个答案:

答案 0 :(得分:0)

您应该看一下名为Helm的官方Kubernetes包管理器。

Helm支持将多个部署和服务打包到单个版本中。这允许您对发行版中的所有资源执行升级和回滚。