解决启用 Cloud Service Mesh 的问题, Google Cloud 控制台

本部分介绍常见的 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。如果 StalledMessage 字段将包含有关具体错误的详细信息。如需详细了解可能的错误,请参阅停止代码

系统会每隔 15 分钟重试一次安装,并会更新 ControlPlaneRevision 自定义资源以反映最新状态。但是,即便后续安装成功,Google Cloud 控制台中显示的错误消息也不会予以更新。您可以通过在集群上运行上述命令来检查当前状态(每隔 15 分钟检查一次)。

如果解决错误消息中指出的问题后仍未成功安装,并且 然后等待 15 分钟 使用 asmcli 配置代管式 Cloud Service Mesh 启用 Cloud Service Mesh

此外,如果在 GKE 集群创建期间安装失败,那么您可以删除集群并进行重试。