解决通过 Google Cloud 控制台启用 Cloud Service Mesh 时遇到的问题
本部分介绍常见的 Cloud Service Mesh 问题以及如何解决这些问题。如果您需要其他帮助,请参阅获取支持。
确保您拥有足够的权限
如需在创建 GKE 集群时启用 Cloud Service Mesh,您必须拥有以下所有角色:
如需了解如何授予角色,请参阅授予或撤消单个角色。
未能通过 Google Cloud 控制台启用 Cloud Service Mesh
在集群上启用 Cloud Service Mesh 时,可能会启用失败。如果启用失败,Google Cloud 控制台会显示一条消息:“Cloud Service Mesh 安装失败”。
通过 Google Cloud 控制台启用 Cloud Service Mesh 时会在集群中创建 ControlPlaneRevision
自定义资源。预配代管式控制层面或预配失败后,此资源的状态会更新;此外,如果启用失败,还会包含一则错误消息。
kubectl describe controlplanerevision -n istio-system
输出类似于以下内容:
Name: asm-managed … Status: Conditions: Last Transition Time: 2021-08-05T18:56:32Z Message: The provisioning process has not completed successfully Reason: NotProvisioned Status: False Type: Reconciled Last Transition Time: 2021-08-05T18:56:32Z Message: Provisioning has finished Reason: ProvisioningFinished Status: True Type: ProvisioningFinished Last Transition Time: 2021-08-05T18:56:32Z Message: Unsupported Kubernetes version: v1.14.10 Reason: PreconditionFailed Status: True Type: Stalled
如果 Type: Reconciled
Status
字段为 True
,则表示控制层面已成功运行。如果代管式控制层面预配过程出错,则 Type: Stalled
Status
字段将为 True
。如果 Stalled
,Message
字段将包含有关具体错误的详细信息。如需详细了解可能的错误,请参阅停止代码。
系统会每隔 15 分钟重试一次安装,并会更新 ControlPlaneRevision
自定义资源以反映最新状态。但是,即便后续安装成功,Google Cloud 控制台中显示的错误消息也不会予以更新。您可以通过在集群上运行上述命令来检查当前状态(每隔 15 分钟检查一次)。
如果在处理错误消息并等待 15 分钟后,安装仍然失败,那么您可以执行使用 asmcli
配置代管式 Cloud Service Mesh 中的步骤来启用 Cloud Service Mesh。
此外,如果在 GKE 集群创建期间安装失败,那么您可以删除集群并进行重试。