2017-05-17 45 views
0

我不确定我之前是否看到过这种功能,但我相信我去年秋天做过。然而,我现在似乎无法找到任何文件,所以我想我会在这里问。如何同时更新多个部署并仅在全部成功时部署?

我有一堆与kubernetes设置的微服务。目前,当新版本的微服务准备发布时,我会执行一个kubectl set image来更新部署的映像。如果部署卡住,则旧图像不会被取下。因此我们的微服务保持不变。

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

具体来说,假设我有一个依赖于后端服务的前端服务。假设前端在版本1中对后端进行特定签名的POST。如果在版本2中该签名发生更改,则需要我的前端和后端服务同时进行更新。如果两个部署陷入困境,我不希望任何一个部署,因为这会导致这两个微服务无法正常工作。

所以我的问题是,你如何同时更新kubernetes中的多个部署,同时确保没有任何旧图像被取消,直到所有新图像都成功完成为止?

回答

0

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

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