本节介绍如何移除成员集群。

备注
  • 主集群无法移除。

  • 成员集群移除后,KubeSphere 企业版将无法管理该集群。集群中原有的 Kubernetes 资源将不会被删除。

警告

集群被移除后,集群中原有的多集群配置数据不会被自动清除,卸载 KubeSphere 企业版或删除关联资源时可能会导致用户数据丢失。请务必在被移除的集群上执行清理多集群配置数据步骤。

前提条件

您需要在主集群和需要移除的成员集群都具有 platform-admin 角色。

通过 Web 控制台移除集群

  1. 以具有 platform-admin 角色的用户登录主集群的 Web 控制台。

  2. 点击集群管理

  3. 在需要操作的集群右侧点击 more,然后在下拉列表中选择移除集群

  4. 移除集群对话框,确认需要移除的集群的信息,将滑块拖动到右侧,输入需要移除的集群的名称,根据需要选择或取消选择删除集群中的所有通知配置数据,然后点击确定

    备注

    在多集群系统中,主集群上的通知渠道、静默规则、通知语言等配置数据会自动同步到成员集群。如果移除集群时未选择删除集群中的所有通知配置数据,集群被移除后仍将按照原有的配置发送通知。

通过命令行移除集群

某些情况下可能无法从 Web 控制台移除成员集群。例如,成员集群的凭证存在错误。在此情况下,您可以执行以下步骤通过命令行移除不健康的成员集群:

  1. 以具有 platform-admin 角色的用户登录主集群的 Web 控制台。

  2. 将光标悬停在页面右下角的hammer图标,然后在菜单中选择 kubectl

  3. kubectl 对话框,执行以下命令移除成员集群(将 <cluster name> 替换为成员集群的名称):

    kubectl delete cluster <cluster name>

清理多集群配置数据

  1. 以具有 platform-admin 角色的用户登录被移除集群的 Web 控制台。

  2. 将光标悬停在页面右下角的hammer图标,然后在菜单中选择 kubectl

  3. kubectl 对话框,执行以下命令清理集群中的多集群配置数据:

    for ns in $(kubectl get ns --field-selector status.phase!=Terminating -o jsonpath='{.items[*].metadata.name}'); do kubectl label ns $ns kubesphere.io/workspace- && kubectl patch ns $ns --type merge -p '{"metadata":{"ownerReferences":[]}}'; done