Terraform GKE节点池在googleapi上获取403:错误403:必需的“ container.clusters.update”

时间:2019-02-19 20:49:19

标签: google-cloud-platform terraform google-kubernetes-engine

当terraform v0.11.11应用于与gke群集创建分开管理的节点池时,出现了403错误。

完整错误:

  

google_container_node_pool.np:创建NodePool时出错:googleapi:错误403:“项目//位置/ us-central1 / clusters /”具有必需的“ container.clusters.update”权限。有关更多信息,请参见https://cloud.google.com/kubernetes-engine/docs/troubleshooting#gke_service_account_deleted

我仔细阅读了故障排除指南,但说的是禁用并再次启用api,我确实尝试过,但仍然收到该错误。

还同时使用Google和Google Beta提供程序1.20版

3 个答案:

答案 0 :(得分:0)

尝试删除默认的GKE服务帐户,然后使用gcloud命令重新启用该服务,该命令将重新创建默认服务帐户。 如果这不起作用,请尝试将帐户的角色更改为“编辑器”,或创建一个包含“ container.clusters.update”权限的自定义角色。

答案 1 :(得分:0)

因此,根本原因是我正在使用自定义模块,但是将凭据向下传递到模块块中的自定义模块,但是它仍在使用用于测试自定义模块的原始凭据。一旦将自定义模块的凭据更改为应有的功能,就可以使用。

答案 2 :(得分:0)

我也遇到了同样的问题。看起来问题在于google_container_node_pool资源正在尝试更新terraform google provider块中指定的项目中的集群,而不是实际退出集群的项目。我可以通过指定google_container_node_pool中提供的与google_container_cluster资源相同相同的项目来修复它。