helios741 / myblog

觉得好请点小星星,欢迎有问题交流(issue/email)
109 stars 21 forks source link

文章讨论:解析k8s中工作节点组件和集群通信原理 #73

Open helios741 opened 4 years ago

helios741 commented 4 years ago

解析k8s中工作节点组件和集群通信原理

Noooooorth commented 4 years ago

为什么RBAC没有system:nodes这个Group的资源的权限,kubelet还能watch Node等资源呢

helios741 commented 4 years ago

@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)加上就行。