为Kubernetes dashboard访问用户添加权限控制

作者: ygqygq2 分类: 云计算/虚拟化,系统/运维 发布时间: 2018-10-17 10:29

# 为Kubernetes dashboard访问用户添加权限控制

1. 需求

在开发环境给开发人员创建应用部署管理权限,可以使用dashboard的token和kubeconfig文件登录,并在开发人员机器上安装kubectl命令,可以使用kubectl port-forward命令。

2. 方案

因为我们用到了dashboard和kubeapps,所以他们的rbac权限都要分配。
创建namespace:dev
创建ServiceAccount:dev-user1
给相应权限,并绑定ServiceAccount。

3. 实现

3.1 分配dashboard权限

kubectl apply -f dev-user1.yaml

3.2 分配kubeapps权限

token获取:

3.3 生成kubeconfig

通过token方式访问kube-apiserver

注意
配置kubeconfig时指定路径,以免覆盖已有配置,--kubeconfig=configpath

也可以直接创建文件config,修改内容即可。

4. 测试验证

windows kubectl命令安装

命令下载:
https://storage.googleapis.com/kubernetes-release/release/v1.12.0/bin/windows/amd64/kubectl.exe

然后将其放至系统PATH目录下,比如c:\Windows
命令使用时,可使用cmd、powershell或者其它命令提示行工具。推荐使用Git Bash,因为安装过Git,则安装了此工具。

kubeconfig文件
kubeconfig文件,即上文件中生成的config文件。
文件名为config,文件放到 ~/.kube/下(~为用户家目录),因为kubectl命令默认读取此文件,否则每次使用kubectl命令,需要用参数--kubeconfig=configpath指定。

参考资料:
[1] https://kubernetes.io/docs/reference/access-authn-authz/rbac/
[2] https://blog.qikqiak.com/post/add-authorization-for-kubernetes-dashboard/
[3] https://github.com/kubeapps/kubeapps/blob/master/docs/user/access-control.md
[4] https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands#config
[5] https://kubernetes.io/docs/tasks/tools/install-kubectl/#configure-kubectl

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

发表评论

电子邮件地址不会被公开。 必填项已用*标注

This site uses Akismet to reduce spam. Learn how your comment data is processed.