get
和list
RBAC动词有什么区别?
我可以在文档中找到的全部是这样的:我发现严重缺乏“获取(针对单个资源),列表(针对集合,包括完整的对象内容)”。 list
是否是get
的超集,是否意味着如果您具有list
权限,则可以从get
中获取所有信息以及更多信息吗?当我们在讨论时,watch
呢?它是否只授予读取更改流的权限,但不授予完整对象的权限?
get和list RBAC动词有什么区别?我在文档中可以找到的是:“获取(用于单个资源),列表(用于集合,包括完整的对象内容)” ...
实际上,您可以通过get
调用来获取通常从list
调用中获得的所有信息。但是,拥有对list
资源的许可并不意味着get
调用会起作用。您仍然必须使用list
调用并以这种方式提取信息。
[kubectl get deployment nginx --as get-only -o yaml
# apiVersion: extensions/v1beta1
# kind: Deployment
# ...
kubectl get deployment nginx --as list-only -o yaml # RBAC error
kubectl get deployment --as list-only -o yaml
# apiVersion: v1
# kind: List
# items:
# - apiVersion: extensions/v1beta1
# kind: Deployment
# ...
,get
和list
授予不同Kubernetes API操作的权限。