有时我们需要消耗Kubernetes中的节点。当我手动设置k8s集群时,我可以耗尽特定节点,然后终止该计算机。在EKS中,节点位于自动缩放组下,这意味着我无法终止特定的实例(节点)。如果我手动终止一个实例,则另一个实例(节点)将自动添加到eks群集中。
那么有什么建议的方法可以耗尽EKS中的节点吗?
答案 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。