kubernetes RBAC权限管理工具permission-manager

发布时间:2020年03月10日 阅读:97 次

permission-manager 是sighupio公司开源的很新的一个用于 Kubernetes RBAC 和 用户管理工具:https://github.com/sighupio/permission-manager

优点:可以最简单灵活的方式去管理用户的rbac权限。

缺点:缺少接LDAP的用户认证功能,登录只用了basic_auth的认证。

部署

编辑k8s/k8s-seeds/auth-secret.yml以设置basic_auth的认证密码

kubectl apply -f k8s/k8s-seeds/namespace.yml
kubectl apply -f k8s/k8s-seeds


编辑k8s/deploy.yaml以设置环境变量:

信封名称
描述
港口服务器暴露的端口
CLUSTER_NAME在生成的kubeconfig文件中使用的集群名称
CONTROL_PLANE_ADDRESS在生成的kubeconfig文件中使用的控制平面的完整地址
BASIC_AUTH_PASSWORD基本身份验证使用的密码(用户名为admin

部署:

kubectl apply -f k8s/deploy.yaml
然后我们可以使用ingress或者使用kubectl port-forward方式去访问:kubectl port-forward svc/permission-manager-service 4000 --namespace permission-manager --address 0.0.0.0


权限模板按照自己的需求提前去设定:

什么是模板

模板是带有前缀的ClusterRole

template-namespaced-resources___

例如 template-namespaced-resources___developer


为什么模板不是CRD

当我们开始开发这个项目时,一个模板是一对一的clusterrole,CRD的使用看起来有些过时了。将来这将发生明显变化,以避免造成污染,clusterroles并使我们可以更精确地封装权限管理器所拥有的内容。

如何添加新模板

创建一个簇角色并开始template-namespaced-resources___应用它。

默认模板

developeroperation默认模板可以通过施加位于清单创建k8s/k8s-seeds/seed.yml

kubectl apply -f k8s / k8s-seeds

什么是用户

用户是一种自定义资源 permissionmanagerusers.permissionmanager.user

当去删除 CRD时会被删除,但数据会在etcd里存储,可以把用户的yaml备份,免得后面重新部署用户数据丢失。

Tag:k8s
相关文章

发表评论: