3

我将 Google Container Engine 与使用Kubernetes 0.20.2的集群一起使用。

在这个集群中,我有1 个复制控制器(2 个副本)1 个服务,其规范类型定义为LoadBalancer(基本设置)。

这里一切正常;然后我想使用kubectl命令滚动更新到不同的图像:

kubectl rolling-update my-rc \
  --image=gcr.io/project/gcloudId:my-image-updated \
  --update-period=0m

据我了解,运行此命令应该注意零停机时间。不幸的是,我一直在循环使用 curl 命令进行一些测试,但我仍然有几秒钟的停机时间。任何想法为什么会发生这种情况?

4

1 回答 1

7

--update-period标志告诉 Kubernetes 在将更新滚动到的每个 pod 之间等待多长时间。将更新周期设置为 0 时,Kubernetes 将一次更新所有 pod,导致新 pod 启动时短暂不可用。您应该--update-period至少设置为每个 pod 初始化所需的时间。如果您不想考虑它,默认值(1 分钟)几乎适用于所有情况。

于 2015-07-20T21:33:18.160 回答