Cluster autoscaler - AWS 中的自动标签节点

Posted

技术标签:

【中文标题】Cluster autoscaler - AWS 中的自动标签节点【英文标题】:Cluster autoscaler - auto label node in AWS 【发布时间】:2021-12-30 00:51:16 【问题描述】:

https://github.com/kubernetes/autoscaler/tree/master/cluster-autoscaler

用例 - 使用 nodeSelector 安装部署。没有现有的节点标签匹配。自动缩放器不会放大。有人知道如果有需求,自动缩放器是否能够标记新鲜的 EC2?

我们正在部署大型伞形图(60 个以上的 pod),它们是真实生产环境的复制品。一些豆荚对于整个图表的工作至关重要。如果它在几个节点之间传播,并且其中一个节点出现健康问题,则不止一个环境会受到影响。将其完全部署在一个节点上可将受影响图表的数量减少到一个。

谢谢

【问题讨论】:

您能详细说明您的问题吗?你能举一个关于这个问题的具体例子吗?你已经尝试过用它做什么? Here 是文档的链接。 @kkopczak - 编辑后的帖子 【参考方案1】:

没有这样的能力来创建具有新规范的节点,我认为也没有必要。想象一下 nodeLabel 中的拼写错误会引发新节点,而且这些新节点对于您的 IAC 来说是不知道的,这是另一件可怕的事情。集群自动缩放器通过更新您的自动缩放组来添加新节点,因此节点与该自动缩放组中的其他节点相同。 如果你想破解你可以检查admission-controllers,使用这个新标签添加现有节点或动态修改标签到你支持的标签?但你真的需要这样做吗?

【讨论】:

【参考方案2】:

您是否尝试过为对您很重要的 pod 使用单独的节点组,并使用 taints 和 tolerations,以便只有那些 pod 被安排在这些节点上。自动缩放器将确保您在该节点组中有足够的节点来运行您的 pod

【讨论】:

以上是关于Cluster autoscaler - AWS 中的自动标签节点的主要内容,如果未能解决你的问题,请参考以下文章

AWS EKS Cluster Autoscaler - 缩减策略

如何为 kops 在 AWS 上安装的 k8s 做集群自动扩缩器?

如何集成 AWS + ELB + AutoScale + Docker + Spring Cloud

如何为 AutoScale 实例使用 AWS 负载均衡器代理协议?

AWS - 重建 Autoscale 组中的所有实例

Autoscale ProvisionedConcurrentExecutions AWS Lambda DependsOn 值 null