权限控制
Kubernetes 中所有的 API 对象,都保存在 Etcd 里;
对这些 API 对象的操作,一定都是通过访问 kube-apiserver 实现的,其中一个非常重要的原因,就是需要 APIServer 来帮助你做授权工作;
在 Kubernetes 项目中,负责完成授权(Authorization)工作的机制,就是 RBAC:基于角 色的访问控制(Role-Based Access Control)。
RBAC:
- Role:角色,它其实是一组规则,定义了一组对 Kubernetes API 对象的操作权限。
- Subject:被作用者,既可以是“人”,也可以是“机器”,也可以使你在 Kubernetes 里 定义的“用户”。
- RoleBinding:定义了“被作用者”和“角色”的绑定关系。
在kubernetes中,Role 本是一个 Kubernetes 的 API 对象:
kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata