簡體   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