gpt4 book ai didi

kubernetes - 如何优雅地从 Kubernetes 中删除节点?

转载 作者:行者123 更新时间:2023-12-02 23:44:39 24 4
gpt4 key购买 nike

我想扩大/缩小机器数量,以增加/减少 Kubernetes 集群中的节点数量。当我添加一台机器时,我能够成功地将其注册到 Kubernetes;因此,一个新节点将按预期创建。不过后面如何顺利关机我就不太清楚了。一个好的工作流程是:

  1. 将与我要关闭的机器相关的节点标记为不可调度;
  2. 在其他节点中启动正在该节点中运行的 Pod;
  3. 正常删除节点中正在运行的 Pod;
  4. 删除节点。

如果我理解正确的话,即使 kubectl rain ( discussion ) 也没有达到我的预期,因为它在删除 Pod 之前不会启动 Pod(它依赖于复制 Controller 来启动)之后的 Pod 可能会导致停机)。我错过了什么吗?

我应该如何正确关闭机器?

最佳答案

列出节点并获取<node-name>您想要排空或(从集群中删除)

kubectl get nodes

1)首先排空节点

kubectl drain <node-name>

您可能必须忽略计算机中的守护进程集和本地数据

kubectl drain <node-name> --ignore-daemonsets --delete-local-data

2) 编辑节点的实例组(仅当您使用 kops 时)

kops edit ig nodes

将 MIN 和 MAX 大小设置为 -1 只需保存文件(无需执行任何额外操作)

您仍然可能会在耗尽的节点中看到一些与守护进程集相关的 pod,例如网络插件、用于日志的 Fluentd、kubedns/coredns 等

3)最后删除节点

kubectl delete node <node-name>

4)在 s3 中提交 KOPS 的状态:(仅当您使用 kops 时)

kops update cluster --yes

或者(如果您使用的是 kubeadm)

如果您正在使用 kubeadm 并希望将机器重置为运行之前的状态 kubeadm join然后运行

kubeadm reset

关于kubernetes - 如何优雅地从 Kubernetes 中删除节点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35757620/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com