将清单文件应用于已应用水平自动缩放器的部署时,保持“幂等”的最有效方法是什么?

问题描述 投票:1回答:1

假设您有一个CI / CD管道,并且作为该管道的一部分,您有一个部署清单文件,您可以在其中更改某些值并重新部署。

另一方面,您的部署也是水平自动调整的,可以通过修改部署清单文件来扩展到您设置的副本。

然后有一天,您的水平自动定标器已经旋转了40个pod以满足需求,您可以运行您的管道,其部署清单设置为一个副本。应用此文件的那一刻,它将终止所有pod副本,这意味着您的缩放器需要将它们重新启动,这可能会影响数据和服务,这是不好的。

如何应用清单文件,以免影响缩放的副本?我能想到的是自动检查副本数量并更改部署清单以反映这一点,但这似乎是一个非常难看的解决方案。

我猜测必须有一个更好的解决方案,我找不到它,或者我可能在错误的地方找...

kubernetes continuous-integration continuous-deployment google-kubernetes-engine kubernetes-hpa
1个回答
0
投票

无论它看起来多么丑陋,我认为你有很多选择,因为你的autoscaler works by modifying your deployment manifest file

因此,您必须以某种方式将autoscaler在已部署清单文件中完成的自动更改合并到您将在CI / CD管道中部署的清单版本中,以便能够拥有足够的集群“容量”来处理部署时的流量负载。

如果您能够以某种方式保持两个部署版本同时处于活动状态并逐渐将流量从旧流量迁移到新流量,那么您可能有另一种选择,这将使新部署的自动缩放器时间能够启动所需数量的副本。 Donno,如果GKE提供类似的东西,那就是推荐的deployment strategy for GAE来解决这种情况。

© www.soinside.com 2019 - 2024. All rights reserved.