myblog
myblog copied to clipboard
文章讨论:解析k8s中工作节点组件和集群通信原理
为什么RBAC没有system:nodes这个Group的资源的权限,kubelet还能watch Node等资源呢
@Noooooorth
这个是因为在kube-apiserver中的--authorization-mode=Node,RBAC
第一个Node这个参数就是专门为kubelet准备的,让kubelet能够绕过RBAC直接访问K8s的资源。其实在k8s中默认的已经有了system:node
这个ClusterRole,也有了对应的ClusterRoleBinding(也叫system:node
)。system:node
这个ClusterRole已经有了kubelet的需要的所有权限,但是遗憾的是在system:node
这个ClusterRoleBinding里面并没有绑定User。当让你如果想都用RBAC,你就把system:node
这个ClusterRoleBinding的指定用户(system:nodes这个Group)加上就行。