排查集群创建或更新问题

本页面介绍如何解决与安装或升级 GKE on Azure 相关的问题。

如果您需要其他帮助,请与 Cloud Customer Care 联系。

集群创建失败

当您发出创建集群的请求时,GKE on Azure 会先运行一组预检测试来验证请求。如果集群创建失败,原因可能是这些预检测试之一失败,或者集群创建过程本身的某个步骤未完成。

如果预检测试失败,则您的集群不会创建任何资源,还会直接向您返回错误相关信息。例如,如果您尝试创建名为 invalid%%%name 的集群,则有效集群名称的预检测试会失败,并且请求会返回以下错误:

ERROR: (gcloud.container.azure.clusters.create) INVALID_ARGUMENT: must be
between 1-63 characters, valid characters are /[a-z][0-9]-/, should start with a
letter, and end with a letter or a number: "invalid%%%name",
field: azure_cluster_id

在预检测试通过后,集群创建也可能会失败。这可能发生在集群创建开始后的几分钟,即 GKE on Azure 创建 Google Cloud 和 Azure 资源后。在这种情况下,Azure 资源将存在于您的 Google Cloud 项目中,其状态设置为 ERROR

如需获取有关失败的详细信息,请运行以下命令:

gcloud container azure clusters describe CLUSTER_NAME \
    --location GOOGLE_CLOUD_LOCATION \
    --format "value(state, errors)"

替换以下内容:

  • CLUSTER_NAME 替换为您要查询其状态的集群的名称
  • GOOGLE_CLOUD_LOCATION 替换为管理此 Azure 集群的 Google Cloud 区域的名称

或者,您可以通过描述与创建集群 API 调用关联的 Operation 资源来获取有关创建失败的详细信息。

gcloud container azure operations describe OPERATION_ID

OPERATION_ID 替换创建集群的操作的 ID。如果您没有集群创建请求的操作 ID,可以使用以下命令进行提取:

gcloud container azure operations list \
    --location GOOGLE_CLOUD_LOCATION

使用时间戳或相关信息来标识感兴趣的集群创建操作。

集群更新失败

更新集群时,就像创建新集群一样,GKE on Azure 会先运行一组预检测试来验证请求。如果集群更新失败,原因可能是这些预检测试之一失败,或者集群更新过程本身的某个步骤未完成。

如果预检测试失败,则您的集群不会更新任何资源,还会直接向您返回错误相关信息。例如,如果您尝试更新集群以使用名为 test_ec2_keypair 的 SSH 密钥对,则预检测试会尝试提取 EC2 密钥对,并且请求将返回以下错误:

ERROR: (gcloud.container.azure.clusters.update) INVALID_ARGUMENT: key pair
"test_ec2_keypair" not found,
field: azure_cluster.control_plane.ssh_config.ec2_key_pair

在预检测试通过后,集群更新也可能会失败。这种情况可能会在集群更新开始后的几分钟内发生,并且 Google Cloud 项目中的 Azure 资源的状态设置为 DEGRADED

如需详细了解失败和相关操作,请按照集群创建失败中所述的步骤操作。

后续步骤