简体   繁体   English

集群自动扩缩器 - AWS 中的自动 label 节点

[英]Cluster autoscaler - auto label node in AWS

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

Use case - installing a deployment with nodeSelector.用例 - 使用 nodeSelector 安装部署。 No existing node label matches.没有现有节点 label 匹配。 Autoscaler won't scale up.自动缩放器不会放大。 Anyone aware if autoscaler is capable of labeling fresh EC2 if there is demand for one?任何人都知道如果有需求,自动缩放器是否能够标记新鲜的 EC2?

We are deploying big umbrealla charts (60 pods+) that are replicas of real production environments.我们正在部署大型伞形图(60 个以上的 pod),它们是真实生产环境的复制品。 Some of the pods are crucial for whole chart to work.一些豆荚对于整个图表的工作至关重要。 If it gets spreaded among a few nodes, and one of the node is having health problems more than one environment is affected.如果它在几个节点之间传播,并且其中一个节点出现健康问题,则不止一个环境会受到影响。 Having it fully deployed on one node reduces number of affected charts to one.将其完全部署在一个节点上可将受影响图表的数量减少到一个。

thanks谢谢

There is no such capability to create nodes with a new specification, and I don't think it is necessary as well.没有这样的能力来创建具有新规范的节点,我认为也没有必要。 Imagine a typo in nodeLabel bringing up new nodes, and also these new nodes are not known to your IAC is another scary thing.想象一下 nodeLabel 中的一个拼写错误会带来新的节点,而且这些新节点对于你的 IAC 来说是不知道的,这是另一件可怕的事情。 Cluster autoscaler adds new nodes by updating your autoscaling group, so node is same as other nodes in that autoscaling group.集群自动缩放器通过更新您的自动缩放组来添加新节点,因此节点与该自动缩放组中的其他节点相同。 if you want to hack around you can check admission-controllers , add existing nodes with this new label or modify label on the fly to one you support?如果你想破解,你可以检查admission-controllers ,使用这个新的 label 添加现有节点或即时修改 label 到你支持的节点? But do you really need to do it?但是你真的需要这样做吗?

have you tried using a separate node group for the pods that are important to you and use taints and tolerations so only those pods get scheduled on those nodes.您是否尝试过为对您很重要的 pod 使用单独的节点组并使用 taints 和 tolerations,以便只有那些 pod 被安排在这些节点上。 the autoscaler will make sure you have enough nodes in that node group to run your pods自动缩放器将确保您在该节点组中有足够的节点来运行您的 pod

Perfect use case of using Karpenter :使用Karpenter的完美用例:

  • Allow you to add node labels to match your workload on the refresh scaled up nodes允许您添加节点标签以匹配刷新扩展节点上的工作负载
  • Groupless, much faster reaction time无组,更快的反应时间
  • Declarative in K8s as provisioner K8s 中的声明性作为provisioner

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM