kubernetes如何对kubectl做权限管理
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了kubernetes如何对kubectl做权限管理相关的知识,希望对你有一定的参考价值。
参考技术A 定制kubectl可以操作k8s资源的权限,比如,对所有资源只能读取,不能增删改。kubernetes 本身支持 RBAC 权限校验,现在的主流版本已经默认支持,并默认开启了。你也可以通过查看 apiserver 配置来看自己的k8s是否支持
我们要实现对 kubectl 权限管理,就得依赖 k8s 的 RBAC,我们知道,kubectl 默认情况下,是读取 ~/.kube/config 文件作为配置,和 k8s 的 apiserver 通信的,所以,问题的关键之一就是,我们如何生成这个配置文件。
k8s的RBAC定义了4个资源对象:Role、ClusterRole;Rolebinding、ClusterRoleBinding,其中:
那么,Subject 是什么?Subject 其实可以理解为“用户”,它有几类,分别是:User、Group、ServiceAccount,我们直接通过源码看 Subject 的定义(着重看注释!!!)
那么,Subject 在哪里?我们要绑定 Role 或者 ClusterRole,就得配置 RoleBinding 或者 ClusterRoleBinding,所以,Subject 就在 RoleBinding 或者 ClusterRoleBinding 里。下面进行实操步骤。
1、创建一个ClusterRole
2、创建 ServiceAccount
3、创建 ClusterRoleBinding,将 ClusterRole 的权限,绑定到 ServiceAccount
创建文件 clusterrolebinding-view.yml
执行命令,创建资源
4、生成配置:guest.config
5、更新 guest.config 配置
6、将 guest.config,重命名之后,放到 ~/.kube 目录下即可。
以上是关于kubernetes如何对kubectl做权限管理的主要内容,如果未能解决你的问题,请参考以下文章