![](/img/trans.png)
[英]Grant Kubernetes service account privileges to get pods from all namespaces
[英]How to create a service account to get a list of pods from inside a Kubernetes cluster?
我創建了一個服務帳戶來獲取 minikube 中的 pod 列表。
apiVersion: v1
kind: ServiceAccount
metadata:
name: demo-sa
---
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: Role
metadata:
name: list-pods
namespace: default
rules:
- apiGroups:
- ''
resources:
- pods
verbs:
- list
---
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: RoleBinding
metadata:
name: list-pods_demo-sa
namespace: default
roleRef:
kind: Role
name: list-pods
apiGroup: rbac.authorization.k8s.io
subjects:
- kind: ServiceAccount
name: demo-sa
namespace: default
問題是,如果我使用服務帳戶獲取 pod 列表,我會收到一條錯誤消息。 kubectl auth can-i list pod --as demo-sa
總是以no
回答。
您不能使用:
kubectl auth can-i list pod --as <something>
模擬 ServiceAccounts。 您只能模擬用戶--as
和模擬組--as-group
一種解決方法是使用服務帳戶令牌。
kubectl get secret demo-sa-token-7fx44 -o=jsonpath='{.data.token}' | base64 -d
您可以在此處使用 output 和任何kubectl
請求。 但是,我檢查了kubectl auth can-i list pod
並且我認為auth
不適用於令牌(你總是得到一個是的)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.