如何在 GKE 上加速 rolling-updates

How to speedup rolling-updates on GKE

我需要在 gke 中部署一个网络应用程序。该应用程序由两个 pods 组成,需要扩展到约 30 个副本。

在我们的设置中,滚动更新需要大约 30 秒/pod。

旧标题:如何在 GKE 集群上启用部署 API?

我尝试使用 deployments,因为它们允许并行更新多个 pods。 但是,正如 nshttpd 在 #google-containers 中关于 kubernetes slack 指出的那样: 我可能错了,但我认为 GKE 集群没有测试版功能。所以如果你想要部署,你必须启动你自己的集群。

GKE 集群实际上 具有测试版功能。但是 Deployments 是 1.1 版本(这是当前支持的版本)中的一个 alpha 功能,并且正在为即将到来的 1.2 版本升级到 beta。一旦它们成为测试版功能,您就可以在 GKE 中使用它们。

滚动更新命令实际上只是语法糖,首先创建一个新的复制控制器,将其放大一个,将现有的复制控制器缩小一个,然后重复直到旧复制控制器的大小为零。如果一次一个 pod 太慢,您可以自己以更快的速度完成此操作。您可能还想在 github 上提交功能请求,以向滚动更新命令添加标志以并行更新多个 pods。