kubectl rolling-update停机时间为几秒

时间:2015-07-20 20:50:08

标签: gcloud kubernetes google-kubernetes-engine

我使用 Kubernetes 0.20.2 将Google容器引擎与群集一起使用。

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

这里的一切都很好; 然后我想使用 kubectl 命令将更新滚动到另一个图像:

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

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

1 个答案:

答案 0 :(得分:7)

--update-period标志告诉Kubernetes在每个pod之间等待多长时间才能更新。更新周期设置为0时,Kubernetes将立即更新所有窗格,导致新窗格启动时短时间不可用。您应该将--update-period设置为至少与初始化每个pod一样长。如果您不想考虑它,几乎所有情况下的默认值(1分钟)都应该没问题。