Kubernetes节点扩展基于每个节点的Pod数量

cedebl8k  于 2023-08-03  发布在  Kubernetes
关注(0)|答案(1)|浏览(137)

我们可以根据CPU或内存扩展Kubernetes集群中的节点,我们可以根据pod压力(每个节点的pod数量)自动扩展节点吗?在我的许多案例中,CPU和内存不是最需要的资源,但每个节点的Pod数量通常处于压力之下。

zvokhttg

zvokhttg1#

在Kubernetes中,没有基于每个节点的Pod数量提供自动伸缩机制的选项。你可以使用Cluster Autoscaler。群集自动缩放器不依赖于负载度量。相反,它基于调度模拟和声明的Pod请求。这可以在需要更多pod时创建新节点,并在没有更多pod可供调度时缩减节点,从而有效地平衡每个节点的pod数量。有关群集自动缩放的详细信息,请参阅Daniele Polencic撰写的Gitlinkblog
如果您在GKE中查找此功能,请参阅official doc- GKE和Cluster Autoscaler
如果您将来需要此功能来实现此功能,您也可以提出问题请求here

编辑:

@xsqian:根据您的评论,您正在使用AWS m5.2xlarge示例。每个EKS示例的最大Pod数实际上在此eni-max-pods git link中列出
formula用于定义每个示例的最大Pod数量如下:
N *(M-1)+2
地点:

  • N为示例类型的弹性网卡数
  • M为单个弹性网卡的IP数量

此弹性网络接口文档中每个示例类型的NM的值
基于此,当您使用m5.2xlarge时,pod限制仅为58,而当您使用两个节点时,pod限制仅为116。这是一个软限制,只有你不能添加超过116的pod,如果你试图添加,那么这将进入挂起状态。
但建议从2021年8月起,现在可以使用最新的AWS CNI插件增加节点上的最大Pod,如本amazon-vpc-cni-increases-pods-per-node-limits中所述,并参考本EKS user guide

相关问题