以下部署策略在kubernetes中意味着什么?

时间:2019-06-24 05:36:49

标签: deployment kubernetes google-kubernetes-engine

我在kubernetes中为我的负载均衡器服务使用默认部署策略,当我描述我的部署时,该策略如下:

Replicas:               2 desired | 2 updated | 2 total | 2 available | 0 unavailable
StrategyType:           RollingUpdate

MinReadySeconds:0 RollingUpdateStrategy:1个最大不可用,1个最大喘振

因此,根据描述,不应有任何停机时间。但是,该服务仍然存在停机时间。 如何确保停机时间为零?

1 个答案:

答案 0 :(得分:1)

据我所知,您正在使用Rolling Updatesas fast as possible方法。

虽然这是一个很好的方法,但最好使用Replicas: 3,因为在更新过程中,您可能最终要减少2 pods

您应实现类似于以下内容的ReadinessProbe

readinessProbe:  
  httpGet:  
     path: /  
     port: 8080  
     initialDelaySeconds: 5  
     periodSeconds: 5  
     successThreshold: 1
  • initialDelaySeconds:容器启动后,启动就绪探针之前的秒数。
  • periodSeconds:执行探测的频率。默认为10秒。
  • successThreshold:探测失败的最小连续成功次数。默认为1。

我还建议您阅读Enable Rolling updates in Kubernetes with Zero downtime,因为它们很好地解释了滚动更新的用法。