本节介绍如何删除 KubeSphere 企业版集群节点。

节点删除过程中将用到开源工具 KubeKey。有关 KubeKey 的更多信息,请访问 GitHub KubeKey 仓库

说明

本节介绍的节点删除方式仅适用于 Kubernetes 通过 KubeKey 安装的场景。如果您的 Kubernetes 不是通过 KubeKey 安装,请参阅 Kubernetes 官方文档删除节点。

警告
  • 请勿删除控制平面节点,否则集群将出现错误。

  • 请确保节点删除后,集群中剩余的资源仍然足够运行现有的业务。否则,节点删除后可能会出现业务中断。

前提条件

您需要获取安装配置文件 config-sample.yaml 并将其传输到用于执行本节操作的集群节点。有关更多信息,请参阅安装 Kubernetes 和 KubeSphere 企业版

警告

如果您无法获取安装配置文件 config-sample.yaml,您需要参阅安装 Kubernetes 和 KubeSphere 企业版 重新创建 config-sample.yaml 文件。重新创建该文件时,请务必确保文件中的集群信息与集群的当前实际情况一致。否则,删除节点后集群可能会出现错误。

操作步骤

  1. 如果您访问 GitHub/Googleapis 受限,请登录任意集群节点,执行以下命令设置下载区域:

    export KKZONE=cn
  2. 执行以下命令下载 KubeKey 最新版本:

    curl -sfL https://get-kk.kubesphere.io | sh -

    下载完成后当前目录下将生成 KubeKey 二进制文件 kk

    说明

    如果用于执行本节操作的集群节点无法连接互联网,您可以从互联网连接正常的设备手动下载 KubeKey 然后将其传输到用于执行本节操作的集群节点。

  3. 执行以下命令为 KubeKey 二进制文件 kk 添加执行权限:

    sudo chmod +x kk
  4. 执行以下命令查看需要删除的节点的名称:

    kubectl get node
  5. 执行以下命令将需要删除的节点上运行的容器组驱逐到其他节点(将 <node name> 替换为需要删除的节点的名称):

    kubectl drain <node name>
  6. 将安装配置文件 config-sample.yaml 传输到当前目录。

  7. 执行以下命令开始删除节点:

     ./kk delete node <node name> -f config-sample.yaml
  8. 执行以下命令查看当前集群节点:

    kubectl get node

    如果没有显示已删除节点的信息,则表明节点删除成功。