排查 Service Catalog 的 Terraform 解决方案问题

本页介绍了如何解决在使用 Service Catalog 创建或更新 Terraform 解决方案时可能遇到的问题,并提供了有关如何解决这些问题的建议。

权限遭拒错误

出现此验证错误时,会发生以下问题:

Permission denied; please check you have the correct IAM permissions and APIs
enabled.

如需解决此问题,请根据您是否提供自己的服务账号采取以下措施:

提供您自己的服务账号

验证您使用的服务账号是否显示在您使用的 Google Cloud 项目的 Identity and Access Management (IAM) 服务账号页面中。

如果系统显示服务账号,请验证您是否拥有正确的 IAM 权限来使用该账号。您必须对使用该服务账号的 Google Cloud 项目拥有 iam.serviceAccounts.actAs 权限。如果您没有此角色,请与项目所有者或可以向您授予访问权限的管理员联系。

如果服务账号位于与 Terraform 解决方案不同的 Google Cloud 项目中,您必须执行以下跨项目配置的其他步骤

默认服务账号

验证您是否对 Google Cloud 项目使用的 Compute Engine 默认服务账号拥有 IAM 权限 iam.serviceAccounts.actAs。如果您没有此角色,请与项目所有者或可以向您授予访问权限的管理员联系。如需了解详情,请参阅 Compute Engine 默认服务账号

创建工件存储桶时出错

出现此验证错误时,会发生以下问题:

Error creating artifacts bucket.

如需解决此问题,请验证您是否在当前的 Google Cloud 项目中拥有“存储空间管理员”(roles/storage.admin) 角色。如果您没有此角色,请与项目所有者或管理员联系,他们可以为您授予访问权限。

创建 build 失败

出现此验证错误时,会发生以下问题:

Failed to create build.

如需解决此问题,请验证您使用的服务账号是否在当前 Google Cloud 项目中具有 Logs Writer (roles/logging.logWriter) 和 Storage Admin (roles/storage.admin) 角色。如果该服务账号没有这些角色,请与项目所有者或管理员联系,他们可以向该服务账号授予所需的访问权限。

读取 Cloud Storage 存储桶时出错

出现此验证错误时,会发生以下问题:

Error reading GCS bucket: GCS_SOURCE.

如需解决此问题,请验证您使用的服务账号在当前的Google Cloud 项目中是否具有 Storage Object Viewer (roles/storage.objectViewer) 角色。如果该服务账号没有此角色,请与项目所有者或管理员联系,他们可以向该服务账号授予所需的访问权限。

没有 Terraform 模块

出现此验证错误时,会发生以下问题:

unable to process terraform module - no terraform module detected. Only TF or
TF.JSON files are currently supported.

如需解决此问题,请验证您的 Terraform 模块是否采用了预期格式,以及是否是通过压缩一系列 Terraform 文件创建的。

无验证错误的无效状态

如果您看到验证状态为 INVALID,但没有看到任何具体验证错误,就会出现以下问题。如果您的 Terraform 配置存在问题,就可能会发生这种情况。

如需解决此问题,请使用 Terraform apply 命令验证 Terraform 配置,并解决您遇到的任何具体问题。