我创建了一个服务帐户来获取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
来回答。
答案 0 :(得分:2)
您不能使用:
text-translate-anchor
模仿ServiceAccounts。您只能模拟用户kubectl auth can-i list pod --as <something>
和模拟组--as
一种解决方法是使用service account token。
--as-group
您可以在此处使用输出和任何kubectl get secret demo-sa-token-7fx44 -o=jsonpath='{.data.token}' | base64 -d
请求。但是,我用kubectl
进行了检查,但我认为kubectl auth can-i list pod
不能与令牌一起使用(您总会得到肯定)