排查示例部署问题
本指南介绍了您在遇到 Anthos Sample Deployment 部署问题时可能有助于进行排查的步骤。
如需详细了解如何部署和探索该示例,请参阅探索 GKE Enterprise 教程。
如果在部署期间出现问题,您可以在 Deployment Manager 视图中找到相关的错误信息。如果您看到部署失败,请点击查看详细信息,然后点击三角形图标查看所有资源并查看失败的资源。
前提条件检查错误
Anthos Sample Deployment 有一个前提条件脚本,您可以在部署之前运行该脚本以检查项目是否符合成功部署的条件。跳转服务器也会检查部分前提条件,如果有任何前提条件不符合要求,则部署会失败。您可以在相应 prerequisite-check
资源的 Deployment Manager 视图中看到与这些前提条件检查相关的任何错误。在部署期间,系统会检查以下前提条件:
- prerequisite-check-sa-permission
- prerequisite-check-existing-deployment
- prerequisite-check-invalid-project-env
- prerequisite-check-invalid-project-id
- prerequisite-check-org-policy-ip-forwarding
- prerequisite-check-org-policy-os-login
- prerequisite-check-cpu-quota
以下屏幕截图显示了由于前提条件而失败的 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 服务账号并使用相同名称重新创建,则可能会导致意外行为。