本页面介绍如何调查在 Google Cloud 控制台中创建 Google Distributed Cloud 用户集群时遇到的问题。
GKE On-Prem API 是 Google Cloud 托管的 API,可让您使用 Terraform 和标准 Google Cloud 工具管理本地集群的生命周期。GKE On-Prem API 在 Google Cloud 的基础架构中运行。Terraform、Google Cloud 控制台和 Google Cloud CLI 都是该 API 的客户端,它们使用该 API 创建、更新、升级和删除数据中心中的集群。如果您使用标准客户端创建集群,则该集群会在 GKE On-Prem API 中注册,这意味着您可以使用标准客户端来管理集群的生命周期(但有一些例外情况)。
如果您需要其他帮助,请与 Cloud Customer Care 联系。
集群创建错误
本部分介绍在 Google Cloud 控制台中创建集群期间发生的一些错误。
“资源已存在”错误
用户集群创建失败,并显示类似于以下内容的错误消息:
Resource 'projects/1234567890/[...]/user-cluster1'
already exists
Request ID: 129290123128705826
此错误消息表示集群名称已被使用。
解决此问题的一种方法是删除集群并重新创建:
- 删除集群。
- 使用与现有集群不冲突的其他名称再次创建集群。
IP 地址有冲突错误
用户集群创建失败,并显示类似于以下内容的错误消息:
- Validation Category: Network Configuration
- [FAILURE] CIDR, VIP and static IP (availability and overlapping): user: user
cluster control plane VIP "10.251.133.132" overlaps with
example-cluster1/control plane VIP "10.251.133.132"
您无法在 Google Cloud 控制台的集群详情页面的负载平衡器部分中修改控制平面 VIP 和 Ingress VIP 等字段。如需解决 IP 地址冲突问题,请删除集群并重新创建:
- 删除集群。
- 使用与现有集群不冲突的 IP 地址再次创建集群。
移除运行状况不佳的集群
集群可能会由于多种原因而处于运行状况不佳的状态,例如:
- Connect Agent 或本地环境存在连接问题。
- 用户集群的管理员集群已被删除,或者管理员集群与用户集群之间存在连接问题。
如果控制台无法删除集群,请使用 gcloud CLI 命令从运行状况不佳的集群中删除 Google Cloud 资源。如果您最近尚未更新 gcloud CLI,请运行以下命令来更新组件:
gcloud components update
接下来,删除 Google Cloud 资源。
用户集群
删除用户集群。
gcloud container bare-metal clusters delete USER_CLUSTER_NAME \ --project=PROJECT_ID \ --location=REGION \ --force \ --allow-missing \ --ignore-errors
请替换以下内容:
USER_CLUSTER_NAME
:要删除的用户集群的名称。PROJECT_ID
:集群在其中注册的项目的 ID。REGION
:与用户集群关联的 Google Cloud 位置。 该位置将显示在控制台中。--force
标志可删除具有节点池的集群。如果没有--force
标志,您必须先删除节点池,然后再删除集群。--allow-missing
标志使该命令可在未找到集群时继续运行。当无法访问管理员集群和用户集群时,
--ignore-errors
标志会移除 Google Cloud 资源。此命令会删除集群(如果存在),并从 Google Cloud 中移除 GKE On-Prem API 和舰队成员资源。
确认已删除 GKE On-Prem API 资源:
gcloud container bare-metal clusters list \ --project=PROJECT_ID \ --location=-
设置
--location=-
时,意味着列出所有区域中的所有集群。如果您需要缩小列表范围,请将--location
设置为特定区域。确认已删除舰队成员资源:
gcloud container fleet memberships list \ --project=PROJECT_ID
管理员集群
如果您已在 GKE On-Prem API 中注册了管理员集群,请取消注册:
gcloud container bare-metal admin-clusters unenroll ADMIN_CLUSTER_NAME \ --project=PROJECT_ID \ --location=REGION \ --allow-missing --ignore-errors
请替换以下内容:
ADMIN_CLUSTER_NAME
:管理员集群的名称。PROJECT_ID
:舰队宿主项目的 ID。REGION
:Google Cloud 区域。
如果未找到舰队成员资格,则
--allow-missing
标志会取消注册集群。当无法访问管理员集群和用户集群时,
--ignore-errors
标志会移除 Google Cloud 资源。此命令会从 Google Cloud 中移除 GKE On-Prem API 资源。
从舰队中移除集群:
gcloud container fleet memberships delete ADMIN_CLUSTER_NAME \ --project=PROJECT_ID \ --location=global
此命令会从 Google Cloud 中移除舰队成员资格资源。
确认已删除 GKE On-Prem API 资源:
gcloud container fleet memberships delete ADMIN_CLUSTER_NAME --project=FLEET_HOST_PROJECT_ID
设置
--location=-
时,意味着列出所有区域中的所有集群。如果您需要缩小列表范围,请将--location
设置为特定区域。确认已删除舰队成员资源:
gcloud container fleet memberships list \ --project=PROJECT_ID