kubectl can-i 命令的语法是什么?

Chr*_*ski 9 kubernetes

我该如何使用该can-i命令?这里似乎没有完整记录:

https://kubernetes.io/docs/reference/ generated/kubectl/kubectl-commands#-em-can-i-em- (没有提及--as)。


以下所有结果似乎都是无意义的:

kubectl auth can-i list pod --as=default3ueoaueo --as-group=system:authenticated --as-group=system:masters
yes
Run Code Online (Sandbox Code Playgroud)

对于此处指定的任何用户yes之后的任何内容,以上内容都会返回。--as=

另一方面,默认用户帐户(或我尝试过的任何其他帐户)似乎根本没有权限:

kubectl auth can-i list pod --as=default                                                                  
no
Run Code Online (Sandbox Code Playgroud)

kubectl auth can-i list pod --as=default:serviceaccount:default
no
Run Code Online (Sandbox Code Playgroud)

根据https://github.com/kubernetes/kubernetes/issues/73123我们只是添加--as-group=system:authenticated,但这也不起作用:

kubectl auth can-i list pod --as=serviceaccount:default  --as-group=system:authenticated 
no
Run Code Online (Sandbox Code Playgroud)

Nep*_*cen 11

'--as'命令参数的使用kubectl称为“用户模拟”,官方文档对此进行了记录。

如果您尝试将用户模拟为“serviceaccounts”等 API 资源,则
正确的语法是:'--as=system:serviceaccount:kube-system:default

  • 例如 '--as=system:serviceaccount:kube-system:default' (2认同)