我正在尝试为部署在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”。
无论我多次调试和运行测试多少次,情况都是一样的。我在这里做错什么,我还想念其他东西吗?
答案 0 :(得分:3)
您是否检查了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
命令。它需要几秒钟才能开始,因为它需要首先收集一些指标。