Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3
本页面针对创建 Cloud Composer 环境时可能遇到的问题提供了问题排查信息。
如需了解与更新和升级环境相关的问题排查信息,请参阅排查环境更新和升级问题。
创建 Cloud Composer 环境时,大多数问题都是由以下原因导致的:
服务账号权限问题。
防火墙、DNS 或路由信息不正确。
与网络相关的问题。例如,VPC 配置无效、IP 地址冲突或网络 IP 范围过窄。
与配额相关的问题。
组织政策不兼容。
权限不足,无法创建环境
如果 Cloud Composer 由于您的账号权限不足而无法创建环境,它将输出以下错误消息:
ERROR: (gcloud.composer.environments.create) PERMISSION_DENIED: The caller
does not have permission
或
ERROR: (gcloud.composer.environments.create) PERMISSION_DENIED: User not
authorized to act as service account <service-account-name>.
The user must be granted iam.serviceAccounts.actAs permission, included in
Owner, Editor, Service Account User role. See https://cloud.google.com/iam/docs
/understanding-service-accounts for additional details.
解决方案:按照访问权限控制中的说明,为您的帐号和环境的服务帐号分配角色。
在 Cloud Composer 2 中,请确保已为 Cloud Composer Service Agent 服务帐号 (
service-PROJECT_NUMBER@cloudcomposer-accounts.iam.gserviceaccount.com
) 分配 Cloud Composer v2 API Service Agent Extension 角色。确保已向 Google API 服务代理 (
PROJECT_NUMBER@cloudservices.gserviceaccount.com
) 分配编辑者角色。在共享 VPC 配置中,按照配置共享 VPC 说明进行操作。
环境的服务账号权限不足
创建 Cloud Composer 环境时,您需要指定用于运行该环境的 GKE 集群节点的服务帐号。如果此服务帐号没有足够的权限来执行请求的操作,则 Cloud Composer 会输出以下错误:
Errors in: [Web server]; Error messages:
Creation of airflow web server version failed. This may be an intermittent
issue of the App Engine service. You may retry the operation later.
{"ResourceType":"appengine.v1.version","ResourceErrorCode":"504","ResourceError
Message":"Your deployment has failed to become healthy in the allotted time
and therefore was rolled back. If you believe this was an error, try adjusting
the 'app_start_timeout_sec' setting in the 'readiness_check' section."}
解决方案:按照访问权限控制中的说明,为您的帐号和环境的服务帐号分配角色。
关于服务账号中缺少 IAM 角色的警告
如果环境创建失败,Cloud Composer 会在发生错误后生成以下警告消息:The issue may be caused by missing IAM roles in the following Service Accounts
...
。
此警告消息突出显示了可能导致该错误的原因。 Cloud Composer 会检查项目中服务帐号的所需角色,如果不存在这些角色,它会生成此警告消息。
解决方案:检查警告消息中提及的服务帐号是否具有所需的角色。如需详细了解 Cloud Composer 中的角色和权限,请参阅访问权限控制。
在某些情况下,您可以忽略此警告。Cloud Composer 不会检查分配给角色的各个权限。例如,如果您使用自定义 IAM 角色,则警告消息中提到的服务帐号可能已经拥有所有必需的权限。在这种情况下,您可以忽略此警告。
组织政策不兼容
您必须适当配置以下政策,才能成功创建 Cloud Composer 环境。
Organization Policy | Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1 |
---|---|---|---|
compute.disableSerialPortLogging |
允许任何值 | 必须停用 | 对于 1.13.0 之前的版本已停用;对于其他版本为任意值 |
compute.requireOsLogin |
允许任何值 | 允许任何值 | 必须停用 |
compute.vmCanIpForward |
允许任何值 | 允许任何值 | 未配置 VPC 原生模式(使用别名 IP)时,必须允许(对于 Cloud Composer 拥有的 GKE 集群而言是必需的) |
compute.vmExternalIpAccess |
允许任何值 | 对于公共 IP 环境,必须允许 | 对于公共 IP 环境,必须允许 |
compute.restrictVpcPeering |
可强制执行 | 无法强制执行 | 无法强制执行 |
compute.disablePrivateServiceConnectCreationForConsumers |
允许任何值 | 允许任何值 | 如果使用 Private Service Connect,则无法禁止“SERVICE_PRODUCERS” |
compute.restrictPrivateServiceConnectProducer |
启用后,将 google.com 组织列入许可名单 |
启用后,将 google.com 组织列入许可名单 |
允许任何值 |
限制在组织或项目中使用的服务
组织或项目管理员可以使用 gcp.restrictServiceUsage
组织政策限制条件来限制其项目中可以使用哪些 Google 服务。
使用此组织政策时,请务必允许使用 Cloud Composer 所需的所有服务。