使用 Workload Identity 的 GKE 节点池的 GCP IAM 绑定
GCP IAM Binding for GKE Node Pool using Workload Identity
我在 Kubernetes 中使用 Cloud Composer 运行ning 任务安排作业。我在与 composer 相同的 GKE 中设置了一个新的节点池,并将其用于 运行 Kubernetes 任务。在该节点池中,我使用默认服务帐户,但将该帐户绑定到与 Composer 节点池相同的服务帐户,使用 IAM 策略绑定并启用工作负载身份。
但是我可以从错误中看出 kubernetes 服务帐户缺少作曲家服务帐户有权访问的某些内容的权限。这没有意义,因为 kubernetes 服务帐户具有绑定到作曲家服务帐户的 IAM 策略,因此它们应该具有完全相同的权限。但无论出于何种原因,这都不是真的。非常感谢任何有关在哪里查看的提示...
在节点池上启用工作负载身份是解决方案。使用 terraform 的解决方案如下所示:
resource "google_container_node_pool" "google_container_node_pool_name" {
workload_metadata_config {
mode = "GKE_METADATA"
}
我在 Kubernetes 中使用 Cloud Composer 运行ning 任务安排作业。我在与 composer 相同的 GKE 中设置了一个新的节点池,并将其用于 运行 Kubernetes 任务。在该节点池中,我使用默认服务帐户,但将该帐户绑定到与 Composer 节点池相同的服务帐户,使用 IAM 策略绑定并启用工作负载身份。
但是我可以从错误中看出 kubernetes 服务帐户缺少作曲家服务帐户有权访问的某些内容的权限。这没有意义,因为 kubernetes 服务帐户具有绑定到作曲家服务帐户的 IAM 策略,因此它们应该具有完全相同的权限。但无论出于何种原因,这都不是真的。非常感谢任何有关在哪里查看的提示...
在节点池上启用工作负载身份是解决方案。使用 terraform 的解决方案如下所示:
resource "google_container_node_pool" "google_container_node_pool_name" {
workload_metadata_config {
mode = "GKE_METADATA"
}