如何解决基于CPU的水平Pod自动缩放在Kubernetes集群中不起作用
我正在尝试为部署在AWS(使用EKS)中的Kubernetes集群测试水平Pod自动缩放功能。
我在YAML文件中将“资源”设置为“ CPU”,将目标类型设置为“利用率”,并将“ averageUtilization”设置为15。
因此从技术上讲,当CPU利用率百分比达到 15%设置百分比时,Kubernetes集群应水平自动缩放(自动添加Pod)。这是YAML文件的重要组成部分:
maxReplicas: 11
metrics:
- type: Resource
resource:
name: cpu
target:
type: Utilization
averageUtilization: 15
我正在向Kubernetes集群中注入大量HTTP流量,但是所有Pod稳定在35%-36%的CPU,带有5或6个Pod,它们不会创建额外的Pod来将平均CPU利用率降低到15%我在YAML文件中将其设置为“ averageUtilization”。
无论我多次调试和运行测试多少次,情况都是一样的。我在这里做错什么,我还想念其他东西吗?
解决方法
您是否检查了metrics-server
是否已启用?为了启用hpa
:https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/#support-for-metrics-apis。
这是metrics-server
文档:https://github.com/kubernetes-sigs/metrics-server。为了快速测试它并解决问题,您可以禁用TLS:--kubelet-insecure-tls
。在生产中,您需要再次启用TLS。
要检查metrics-server
是否已启用,可以运行kubectl top
命令。它需要几秒钟才能开始,因为它需要首先收集一些指标。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。