Kubernetes节点CPU利用率

Kubernetes节点CPU利用率,kubernetes,autoscaling,aws-auto-scaling,hpa,Kubernetes,Autoscaling,Aws Auto Scaling,Hpa,我正在尝试(学习)找出在k8s节点上利用CPU(和RAM)的最佳方法。 我的最终目标是确保集群中每个节点的CPU利用率都高于X% 到目前为止,我已经阅读了和,但不确定他们是否会在用例方面帮助我 根据我所读到的: 群集自动缩放器用于根据副本计数和资源之间的比较自动缩放节点。请求与目标ec2实例上的可用CPU-这不是基于流量/实际CPU使用情况 HPA基于CPU/实际CPU使用量,但针对单个POD 我基本上想要达到一个点,kubectl top nodes将显示所有节点都在使用>X%(假设为60

我正在尝试(学习)找出在k8s节点上利用CPU(和RAM)的最佳方法。 我的最终目标是确保集群中每个节点的CPU利用率都高于X%

到目前为止,我已经阅读了和,但不确定他们是否会在用例方面帮助我

根据我所读到的:

  • 群集自动缩放器
    用于根据副本计数和
    资源之间的比较自动缩放节点。请求
    与目标ec2实例上的可用CPU-这不是基于流量/实际CPU使用情况
  • HPA
    基于CPU/实际CPU使用量,但针对单个POD
我基本上想要达到一个点,
kubectl top nodes
将显示所有节点都在使用>X%(假设为60%),理想情况下,如果我们达到X2%(假设为80%),将触发自动缩放


关于如何处理这个用例有什么建议/指针吗?(或者我应该以某种方式使用这两种自动缩放机制的组合)

您可以组合使用HPA或/和群集自动缩放器和/或云提供商的自动缩放组

  • 例如,HPA基于吊舱的CPU/内存,并可上下扩展K8s部署

  • 云提供商ASG或自动缩放组。使用基于虚拟机或实例,您可以根据它们自己的CPU和内存指标进行放大和缩小

  • 群集自动缩放器。当POD处于挂起状态且无处运行时,它可以工作,但如果您处理上述情况,这更像是一种安全的故障机制,或者可能适用于不需要很快启动的工作负载

总之,您可以使用以上三种(或更少)方法,但您必须了解哪些方法适用于您,以便它们不会相互冲突。一个潜在的问题是,当您的云ASG开始缩小时,您的pod也处于挂起状态,然后您的群集自动缩放器(如果您启用了它)将启动,您可能会让它们都试图做相反的事情,导致您的群集无法调度任何pod

✌️☮️