繁体   English   中英

所有命名空间的 GKE Workload Identity 服务帐号

[英]GKE Workload Identity service account for all namespaces

我正在按照指南设置 GCP 的工作负载标识,并使其适用于针对默认 Kubernetes 命名空间配置的服务帐户,如下所示:

gcloud iam service-accounts add-iam-policy-binding \
  --role roles/iam.workloadIdentityUser \
  --member "serviceAccount:[PROJECT_ID].svc.id.goog[default/[KSA_NAME]]" \
  [GSA_NAME]@[PROJECT_ID].iam.gserviceaccount.com

我想知道是否有办法为所有 k8s 命名空间创建绑定; 像下面这样,我用*替换了默认命名空间:

--member "serviceAccount:[PROJECT_ID].svc.id.goog[*/[KSA_NAME]]"

有没有办法做到这一点?

无法将所有命名空间设置为 Kubernetes 服务帐户 (KSA)。 也许您必须获取每个命名空间并为每个命名空间进行绑定,自动化脚本可以帮助在此过程中执行 n 次(每个命名空间 1 次)。

您只能使用以下 kubectl 命令获取命名空间列名:

kubectl get ns --all-namespaces --no-headers -o custom-columns=":metadata.name"

得到这样的东西:

default
kube-public
kube-system

可用于使用绑定自动化脚本迭代它们。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM