在多容器复制控制器上使用滚动更新的策略?

时间:2015-08-30 21:34:37

标签: kubernetes

有没有办法使用具有2个或更多容器的复制控制器进行滚动更新?

例如,我使用Jenkins设置在使用--image标志指定存储在GCR中的新容器图像的成功构建后,在我们的开发环境中自动对rep控制器进行滚动更新。当同一个pod中有两个容器并且没有“-c”标志来指定您希望在rolling-update命令上更新的容器时,此方法不起作用,因为有其他命令,如“exec”或“日志”。

我希望拥有多个pod的原因是为了实现日志记录边车: https://github.com/kubernetes/contrib/tree/master/logging/fluentd-sidecar-es

我能想到的唯一选择是将流畅的配置烘焙到每个容器中,这对我来说感觉非常“不合适”。

1 个答案:

答案 0 :(得分:2)

您说得对,kubectl rolling-update frontend --image=image:v2无法在更新包含多个容器的容器时提供有关容器的更多详细信息。它会给您一个错误Image update is not supported for multi-container pods

但是,它肯定会给你2个变种

  1. kubectl rolling-update frontend-v1 -f frontend-v2.json
  2. cat frontend-v2.json | kubectl rolling-update frontend-v1 -f -
  3. 其中v1和v2可以是您的构建版本。通过这种方式,您还可以利用您的pod名称也符合您的构建版本。