删除用户集群

本页面介绍了如何删除 Anthos clusters on VMware (GKE On-Prem) 用户集群。

选择用于删除集群的工具

删除用户集群的方式取决于集群是否由 Anthos On-Prem API 管理。如果满足以下任一条件,则用户集群由 Anthos On-Prem API 管理:

  • 该集群在 Google Cloud 控制台中或使用 Google Cloud CLI (gcloud CLI) 创建,这会自动配置 Anthos On-Prem API 以管理集群。

  • 集群是使用 gkectl 创建的,但已配置为由 Anthos On-Prem API 管理

如果用户集群由 Anthos On-Prem API 管理,则您可以使用任何工具删除集群。如果用户集群不是由 Anthos On-Prem API 管理,请在管理员工作站上使用 gkectl 删除集群。

删除用户集群

gkectl

您可以使用 gkectl 删除任何用户集群,包括由 Anthos On-Prem API 管理的集群。

gkectl delete cluster \
  --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
  --cluster CLUSTER_NAME

其中

  • ADMIN_CLUSTER_KUBECONFIG 是管理员集群的 kubeconfig 文件的路径。
  • CLUSTER_NAME 是要删除的用户集群的名称。

如果用户集群删除失败,您可以在运行 gkectl 时使用 --force 标志来清理集群资源。

gkectl delete cluster \
--kubeconfig ADMIN_CLUSTER_KUBECONFIG \
--cluster CLUSTER_NAME \
--force

如果您使用的是 Seesaw 捆绑式负载平衡器,请删除负载平衡器

Google Cloud 控制台

如果用户集群由 Anthos On-Prem API 管理,请按照以下步骤删除集群:

  1. 在 Google Cloud 控制台中,前往 Anthos 集群页面。

    转到“Anthos 集群”页面

  2. 选择用户集群所在的 Cloud 项目。

  3. 在集群列表中,点击要修改的集群。

  4. 详细信息面板中,如果类型vm Anthos (VMware),请执行以下步骤,使用 Google Cloud 控制台删除集群:

    1. 详细信息面板中,点击更多详细信息

    2. 点击窗口顶部附近的 删除

    3. 当系统提示您确认时,再次点击删除

    如果类型外部,则表示集群是使用 gkectl 创建的。在这种情况下,请使用 gkectl 删除集群。

gcloud CLI

如果用户集群由 Anthos On-Prem API 管理,请在安装了 gcloud CLI 的计算机上执行以下操作:

  1. 使用您的 Google 帐号登录:

    gcloud auth login
    
  2. 更新组件:

    gcloud components update
    
  3. 获取集群列表,以便确保在删除命令中指定正确的集群名称:

    gcloud alpha container vmware clusters list \
      --project=FLEET_HOST_PROJECT_ID \
      --location=LOCATION
    

    请替换以下内容:

    • FLEET_HOST_PROJECT_ID:集群在其中注册的项目的 ID。

    • LOCATION:与用户集群关联的 Google Cloud 位置。

    输出内容类似如下:

    NAME                      LOCATION    VERSION          ADMIN_CLUSTER.            STATE
    example-user-cluster-1a   us-west1    1.14.1-gke.39    example-admin-cluster-1   RUNNING
    
  4. 运行以下命令以删除集群:

    gcloud alpha container vmware clusters delete USER_CLUSTER_NAME \
      --project=FLEET_HOST_PROJECT_ID \
      --location=LOCATION \
      --force \
      --allow-missing
    

    请替换以下内容:

    • USER_CLUSTER_NAME:要删除的用户集群的名称。

    • FLEET_HOST_PROJECT_ID:集群在其中注册的项目的 ID。

    • LOCATION:与用户集群关联的 Google Cloud 位置。

    您可以使用 --force 标志来删除包含节点池的集群。如果没有 --force 标志,您必须先删除节点池,然后再删除集群。

    --allow-missing 标志是标准 Google API 标志。添加此标志后,如果未找到集群,该命令会返回成功。

    如果该命令返回包含文本 failed connecting to the cluster's control plane 的错误,则表示管理员集群、Connect Agent 或本地环境存在连接问题。

    • 如果您认为连接问题是暂时性的(例如由于网络问题导致),请等待并重试该命令。

    • 如果重试该命令仍然失败,请参阅收集 Connect Agent 日志,以使用 Connect Agent 来排查问题。

    • 如果您知道管理员集群已被删除,或者管理员集群或用户集群的虚拟机已关停或无法访问,请添加 --ignore-errors 标志并重试该命令。

如需了解其他标志,请参阅 gcloud CLI 参考文档

清理资源

如果您在删除集群时出现问题,可能会剩余一些 F5 或 vSphere 资源。以下部分介绍了如何清理这些剩余资源。

在 vSphere 中清理用户集群的虚拟机

要验证用户集群的虚拟机是否已删除,请执行以下步骤:

  1. 从 vSphere Web Client 左侧的 Navigator 菜单中,点击 Hosts and Clusters 菜单。

  2. 查找管理员集群的资源池。这是管理员集群配置文件中 vCenter.resourcePool 的值。

  3. 在资源池下,找到以您的用户集群名称为前缀的虚拟机。这些是您的用户集群的控制平面节点。将有一个或三个节点,具体取决于您的用户集群是否具有高可用性控制平面。

  4. 查找用户集群的资源池。这是用户集群配置文件中 vCenter.resourcePool 的值。如果您的用户集群配置文件未指定资源池,则会从管理员集群继承。

  5. 在资源池下,找到以您的用户集群中节点池的名称为前缀的虚拟机。这些是用户集群中的工作器节点。

  6. 对于每个控制平面节点和每个工作器节点:

    1. 在 vSphere Web 客户端中,右键点击虚拟机,然后选择电源 > 关停

    2. 关停虚拟机后,右键点击虚拟机,然后选择从磁盘中删除

清理用户集群的 F5 分区

如果用户集群的分区中还有剩余条目,请执行以下步骤:

  1. 在 F5 BIG-IP 控制台的右上角,切换到您要清理的用户集群分区。
  2. 依次选择 Local Traffic > Virtual Servers > Virtual Server List
  3. Virtual Servers 菜单中,移除所有虚拟 IP 地址。
  4. 选择 Pools,然后删除所有池。
  5. 选择 Nodes,然后删除所有节点。

完成操作后

删除集群后,您可以删除用户集群的 kubeconfig。