排查示例部署问题

本指南介绍了您在遇到 Anthos Sample Deployment 部署问题时可能有助于进行排查的步骤。

如需详细了解如何部署和探索该示例,请参阅探索 GKE Enterprise 教程

如果在部署期间出现问题,您可以在 Deployment Manager 视图中找到相关的错误信息。如果您看到部署失败,请点击查看详细信息,然后点击三角形图标查看所有资源并查看失败的资源。

前提条件检查错误

Anthos Sample Deployment 有一个前提条件脚本,您可以在部署之前运行该脚本以检查项目是否符合成功部署的条件。跳转服务器也会检查部分前提条件,如果有任何前提条件不符合要求,则部署会失败。您可以在相应 prerequisite-check 资源的 Deployment Manager 视图中看到与这些前提条件检查相关的任何错误。在部署期间,系统会检查以下前提条件:

以下屏幕截图显示了由于前提条件而失败的 Anthos Sample Deployment 部署示例。

前提条件检查失败的屏幕截图

未启用 Service Management API(代码 403)

建议的解决方法:为所选项目启用 Service Management API,然后尝试重新部署。

无效的项目环境

系统检测到 Qwiklabs 项目。Anthos Sample Deployment 不适合在 Qwiklabs 环境中运行。

建议的解决方法:使用其他项目 ID 在组织中创建新项目。

项目 ID 无效

如果您的项目的范围限定在您的网域内,则项目 ID 包含域名,后跟一个英文冒号 (:)。网域级项目 ID 是一项旧版功能。

建议的解决方法:创建非网域级新项目,然后重新尝试部署。

权限不足,无法创建服务账号

建议的解决方法

确保您拥有 resourcemanager.projects.setIamPolicy 权限;通常,项目 Owner 或 Service Account Admin 拥有此权限。如果您没有这些 Identity and Access Management (IAM) 角色中的任何一个,请执行以下操作之一:

  • 创建新项目(您会自动成为 Owner)。
  • 请项目 Owner 或 Service Account Admin 授予您以下角色之一:
    • roles/owner
    • roles/iam.serviceAccountAdmin

配额不足,无法满足该请求

建议的解决方案:在您所选的地区或区域中,部署需要 7 个 vCPU、24.6 GiB 的内存和 310 GiB 的磁盘空间,以及一个 VPC、两个防火墙规则和一个您所选项目中的 Cloud NAT。确保您的项目具有足够的部署配额。您可以检查您的配额,并在必要时申请增加配额

项目不允许 VPC 对等互连

如果强制执行 compute.restrictVpcPeering 组织政策限制条件,则会出现此错误。此限制条件可防止在没有 GKE 控制平面 VPC 网络的现有 VPC 网络对等互连连接时创建 GKE 专用集群。

建议的解决方法

执行下列其中一项操作:

  • 在当前组织中创建新项目。请让您的组织政策管理员修改 constraints/compute.restrictVpcPeering 政策,以允许为此项目创建 VPC 对等互连。

  • 使用其他组织或文件夹中的另一个项目。

项目不允许使用一键部署映像

如果强制执行 compute.trustedImagesProjects 组织政策限制条件,则会出现此错误。Anthos Sample Deployment 会创建一个带有映像的 Compute Engine 实例,该映像用于自动执行 Anthos 设置和应用部署任务。

建议的解决方法

执行下列其中一项操作:

  • 在当前组织中创建新项目。请让您的组织政策管理员修改此项目的 constraints/compute.trustedImageProjects 政策,使其包含 projects/click-to-deploy-images

  • 使用其他组织或文件夹中的另一个项目。

项目不允许执行 IP 转发

如果强制执行 compute.vmCanIpForward 组织政策限制条件,则会出现此错误。示例应用使用 IP 转发功能。

建议的解决方法

执行下列其中一项操作:

  • 在当前组织中创建新项目。请让您的组织政策管理员修改此项目的 constraints/compute.vmCanIpForward 政策,以允许虚拟机 IP 转发。

  • 使用其他组织或文件夹中的另一个项目。

项目需要 OS Login

如果强制执行 compute.requireOsLogin 组织政策限制条件,则会出现此错误。Google Kubernetes Engine (GKE) 目前不支持 OS Login。

建议的解决方法

执行下列其中一项操作:

  • 在当前组织中创建新项目。请让您的组织政策管理员修改此项目的 constraints/compute.requireOsLogin 政策,使其不再需 OS Login。

  • 使用其他组织或文件夹中的另一个项目。

GKE 集群无法部署

GKE 集群可能由于各种原因而无法部署。

建议的解决方法

执行下列其中一项操作:

  • 首次遇到错误时,请尝试再次部署。

  • (推荐)删除项目,然后使用新项目重新开始部署。

  • 按照删除部署中的说明删除部署。请勿在未清理的情况下在同一项目中重新部署。

如果错误仍然存在,请联系您的支持团队,或者在我们的调查问卷中提供反馈。

GKE Enterprise 组件无法部署

在部署过程中,Deployment Manager 可能无法执行以下任何步骤:

  • cluster-registration-with-hub
  • anthos-service-mesh-setup
  • anthos-config-management-setup
  • application-deployment

建议的解决方法

执行下列其中一项操作:

  • 首次遇到错误时,请尝试再次部署。

  • (推荐)删除项目,然后使用新项目重新开始部署。

  • 按照删除部署中的说明删除部署。请勿在未清理的情况下在同一项目中重新部署。

如果错误仍然存在,请联系您的支持团队,或者在我们的调查问卷中提供反馈。

Anthos Sample Deployment 的现有部署

必须先删除 Anthos Sample Deployment 以前的部署,然后再尝试新的部署。按照删除部署中的说明删除部署。请勿在未清理的情况下在同一项目中重新部署。

Anthos Sample Deployment 服务账号权限

Anthos Sample Deployment 服务账号需要许多 IAM 角色。部署首先验证其是否具有 roles/runtimeconfig.admin 的权限,以报告后续前提条件检查和安装步骤的状态。

以下是 Anthos Sample Deployment 服务账号所需角色的完整列表:

  • roles/cloudtrace.agent
  • roles/container.admin
  • roles/deploymentmanager.editor
  • roles/gkehub.admin
  • roles/iam.serviceAccountAdmin
  • roles/iam.workloadIdentityUser
  • roles/logging.configWriter
  • roles/logging.logWriter
  • roles/meshconfig.admin
  • roles/meshtelemetry.reporter
  • roles/monitoring.metricWriter
  • roles/resourcemanager.projectIamAdmin
  • roles/runtimeconfig.admin
  • roles/serviceusage.serviceUsageAdmin
  • roles/source.admin
  • roles/viewer

如果删除 Anthos Sample Deployment 服务账号并使用相同名称重新创建,则可能会导致意外行为