RBAC(Role-Based Access Control,基于角色的访问控制)在Kubernetes v1.5中引入,是kubeadm安装方式下的默认选项。要使用RBAC授权模式,需要在API Server启动参数中加上--authorization-mode=RBAC。
RBAC授权规则是通过四种资源进行配置的,它们可以分成两个组:
Role(角色)和ClusterRole(集群角色),它们指定了在资源上可以执行哪些操作。
RoleBinding(角色绑定)和ClusterRoleBinding(集群角色绑定),它们将上述角色绑定到特定的用户、组或ServiceAccounts上。
可以简单理解:角色定义了可以做什么操作,而绑定定义了谁可以做这些操作。
Role和RoleBinding 是命名空间的资源,而ClusterRole和ClusterRoleBinding是集群级别的资源。
通过实战来了解以上四种资源
一、Role和RoleBinding
1.创建foo和bar命名空间
#创建foo命名空间
$ kubectl create ns foo
#在foo命名空间中创建一个pod
kubect