如何正常消耗EKS中的节点?

时间:2018-08-13 20:05:09

标签: amazon-web-services docker kubernetes autoscaling

有时我们需要消耗Kubernetes中的节点。当我手动设置k8s集群时,我可以耗尽特定节点,然后终止该计算机。在EKS中,节点位于自动缩放组下,这意味着我无法终止特定的实例(节点)。如果我手动终止一个实例,则另一个实例(节点)将自动添加到eks群集中。

那么有什么建议的方法可以耗尽EKS中的节点吗?

2 个答案:

答案 0 :(得分:2)

这些步骤应该有效:

1。)kubectl获取节点

2。)kubectl警戒线<node name>

3。)kubectl排空<node name> --ignore-daemonsets

4。)AWS自动缩放终止实例在自动缩放组中--instance-id <instance-id>-应减少所需的容量

对于第3步,您可能需要考虑改用此方法:

kubectl排空<node name> --ignore-daemonsets --delete-local-data

对于AWS自动伸缩组,如果您的节点跨多个区域,请考虑删除每个区域中的节点,而不是单个区域中的所有节点。

执行上述命令后,检查自动缩放组的所需编号。它应该自动减少。如果您使用的是terraform或其他自动化框架,请不要忘记在基础结构脚本中更新自动缩放组配置。

答案 1 :(得分:0)

1.) kubectl get nodes

2.) kubectl cordon <node name>

3.) kubectl drain <node name> --ignore-daemonsets --delete-emptydir-data
<块引用>

标志 --delete-local-data 已被弃用,此选项是 已弃用,将被删除。使用 --delete-emptydir-data。