我目前正在读RBAC,正在使用启用了本地Kubernetes集群的Docker For Desktop。
如果我运行kubectl auth can-i get pods
,则默认使用哪个用户,组或服务帐户?
是否像这样的通话?
kubectl auth can-i get pods --as docker-for-desktop --as-group system:serviceaccounts
吗?
kubectl config view
显示:
contexts:
- context:
cluster: docker-for-desktop-cluster
namespace: default
user: docker-for-desktop
name: docker-for-desktop
...
users:
- name: docker-for-desktop
user:
client-certificate-data: REDACTED
client-key-data: REDACTED
但是简单地调用kubectl auth can-i get pods --as docker-for-desktop
会返回否。
谢谢, 金
答案 0 :(得分:0)
回答您的问题
如果我运行
kubectl auth can-i get pods
,则默认使用哪个用户,组或服务帐户?
您可以在Configure Service Accounts for Pods上阅读:
当您(人类)访问群集时(例如,使用
kubectl
),则apiserver将您认证为特定的用户帐户(当前通常为admin
,除非您的群集管理员已自定义您的集群)。容器内容器中的进程也可以联系apiserver。完成后,它们将被认证为特定的服务帐户(例如default
)。
您可以使用kubectl get serviceaccount
来查看集群中serviceaccounts
的设置。
尝试检查可用的上下文,然后切换到所需的上下文:
kubectl config get-contexts
kubectl config use-context docker-for-desktop
如果遇到缺少Role
的问题,请检查Referring to Resources以将其正确设置为docker-for-desktop