【发布时间】:2021-12-11 02:08:03
【问题描述】:
我正在使用 terraform 在 GCP 项目中构建集群。我在同一个 GCP 项目中手动创建了一个服务帐户,并在 terraform GKE 模块中指定了这个相同的服务帐户,如下所示
module "gke" {
...
service_account = "tf-service-account@<project>.iam.gserviceaccount.com"
...
}
基本上这应该使用此服务帐户创建集群。我还在服务帐户中添加了 Cloud KMS CrytpoKey Decrypter、Encrypter 和 Encrypter/Descypter,如下图所示。
已授予同一服务帐户对 KMS 密钥的权限。如下图
我已通过将其添加到我的节点池配置中指定了要使用的正确加密密钥
boot_disk_kms_key = "projects/<PROJECT>/locations/europe-west2/keyRings/<KEY RING NAME>"
错误
我正在通过 GCP 云 shell 运行 terraform,当我收到以下错误时
Error: Error waiting for creating GKE NodePool:
│ (1) deploy error: Not all instances running in IGM after 33.708999334s. Expected 2, running 0, transitioning 2. Current errors: [KMS_PERMISSION_DENIED]: Instance '<INSTANCE>' creation failed: Cloud KMS error when using key <KEY PATH>: Permission 'cloudkms.cryptoKeyVersions.useToEncrypt' denied on resource '<KEY PATH>' (or it may not exist).; [KMS_PERMISSION_DENIED]: Instance '<INSTANCE>' creation failed: Cloud KMS error when using key <KEY PATH>: Permission 'cloudkms.cryptoKeyVersions.useToEncrypt' denied on resource '<KEY PATH>' (or it may not exist)
【问题讨论】:
标签: google-cloud-platform service-accounts terraform-provider-gcp google-cloud-kms