Kubernetes、HPA 随每次部署而扩展
Kubernetes, HPA scales up with every deployment
我在 HPA 上设置了一个 EKS kubernetes 集群,以便在有任何流量时能够扩展,但每次部署都会发生意外行为。 HPA 扩展到 pods 的最大数量,然后在 5 分钟后再次缩小
经过如此多的搜索,我发现在再次重新部署应用程序后会出现 cpu 峰值,并且该峰值仅需几毫秒,这就是它可能扩展的原因。
那么,您是否知道如何防止这种尖峰发生,或者我只是想在部署或延迟控制器管理器扩展时禁用 HPA,例如在 1 分钟后没有默认值
谢谢
这是一个已知问题。 hpa 实现有一个错误。你可以在这里查看 -
问题 - https://github.com/kubernetes/kubernetes/issues/78712 and https://github.com/kubernetes/kubernetes/issues/72775
修复在版本 1.16+ 中推出 - https://github.com/kubernetes/kubernetes/pull/79035
我遇到了同样的问题。我已经针对该问题实施了解决方法。小脚本很有魅力。步骤是-
- 将 HPA 最大值设置为当前副本
- 设置图片
- 等待部署完成或指定时间
- 将最大 HPA 设置为原始数值
https://gist.github.com/shukla2112/035d4e633dded6441f5a9ba0743b4f08
它是 bash 脚本,如果您使用 Jenkins 进行部署,您可以简单地集成它或通过适应您的部署工作流程独立使用它。
修复将在 - 1.16+https://github.com/kubernetes/kubernetes/pull/79035version#79035(评论)
中推出
我在 HPA 上设置了一个 EKS kubernetes 集群,以便在有任何流量时能够扩展,但每次部署都会发生意外行为。 HPA 扩展到 pods 的最大数量,然后在 5 分钟后再次缩小 经过如此多的搜索,我发现在再次重新部署应用程序后会出现 cpu 峰值,并且该峰值仅需几毫秒,这就是它可能扩展的原因。 那么,您是否知道如何防止这种尖峰发生,或者我只是想在部署或延迟控制器管理器扩展时禁用 HPA,例如在 1 分钟后没有默认值 谢谢
这是一个已知问题。 hpa 实现有一个错误。你可以在这里查看 - 问题 - https://github.com/kubernetes/kubernetes/issues/78712 and https://github.com/kubernetes/kubernetes/issues/72775
修复在版本 1.16+ 中推出 - https://github.com/kubernetes/kubernetes/pull/79035
我遇到了同样的问题。我已经针对该问题实施了解决方法。小脚本很有魅力。步骤是-
- 将 HPA 最大值设置为当前副本
- 设置图片
- 等待部署完成或指定时间
- 将最大 HPA 设置为原始数值
https://gist.github.com/shukla2112/035d4e633dded6441f5a9ba0743b4f08
它是 bash 脚本,如果您使用 Jenkins 进行部署,您可以简单地集成它或通过适应您的部署工作流程独立使用它。
修复将在 - 1.16+https://github.com/kubernetes/kubernetes/pull/79035version#79035(评论)
中推出