本篇内容介绍了“如何给 Kubernetes Dashboard 增加用户名密码认证功能”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
仪表板是基于 Web 的 Kubernetes 用户界面。您可以使用仪表板将容器化应用程序部署到 Kubernetes 集群,对容器化应用程序进行故障排除,并管理集群本身及其伴随资源。您可以使用仪表板来概述群集上运行的应用程序,以及创建或修改单个 Kubernetes 资源。
通过 yaml 文件默认安装完 k8s 集群和 Dashboard 服务之后,都是使用 token 或者 Kubeconfig 文件 来登录的,这样使用起来比较安全。但是如果我们部署的是测试或者实验环境的话,每次都要输入一长串的 token 还是很方便的。所以,这里我们介绍如何使用 用户名和密码 的方式来登录 Dashboard 服务。
集群环境 | 集群版本 | 搭建方式 | dashboard 的版本 |
---|---|---|---|
master | v1.20.4 | kubeadm | dashboard:v2.0.4 |
node01 | v1.20.4 | kubeadm | dashboard:v2.0.4 |
node02 | v1.20.4 | kubeadm | dashboard:v2.0.4 |
创建用户文件
格式:user、password、userID、"group1,group2"
注意:userID 不可重复
# 创建用户名密码配置文件 # 在所有的master节点配置用户名密码 $ echo 'admin,admin,1' | sudo tee /etc/kubernetes/pki/basic_auth_file
修改配置文件
将上述创建好的用户名密码文件添加到下述文件中
# 配置修改 $ sudo vim /etc/kubernetes/manifests/kube-apiserver.yaml spec: containers: - command: - kube-apiserver - --advertise-address=192.168.30.30 - --basic-auth-file=/etc/kubernetes/pki/basic_auth_file ...... volumeMounts: – mountPath: /etc/kubernetes/basic_auth_file name: basic-auth-file readOnly: true volumes: – hostPath: name: basic-auth-file path: /etc/kubernetes/basic_auth_file
重启 apiserver 服务
使刚才的修改生效
# 重启 $ kubectl apply -f /etc/kubernetes/manifests/kube-apiserver.yaml # 查看 $ kubectl get pod -n kube-system | grep apiserver kube-apiserver-k8s-01 1/1 Running 0 24s kube-apiserver-k8s-02 1/1 Running 0 44s kube-apiserver-k8s-03 1/1 Running 0 50s
将用户与权限绑定
创建集群 admin 角色绑定
# 权限绑定 $ kubectl create clusterrolebinding \ login-on-dashboard-with-cluster-admin \ --clusterrole=cluster-admin --user=admin # 查看绑定 $ kubectl get clusterrolebinding login-on-dashboard-with-cluster-admin NAME ROLE AGE login-on-dashboard-with-cluster-admin ClusterRole/cluster-admin 2m23s
开启 basic 配置
修改 kubernetes-dashboard.yaml 配置文件
$ sudo vim kubernetes-dashboard.yaml args: - --auto-generate-certificates - --namespace=kubernetes-dashboard - --token-ttl=43200 # 过期秒数 - --authentication-mode=basic # 启用basic登录 # 更新 $ kubectl apply -f kubernetes-dashboard.yaml
登录验证
使用用户名和密码登录 Dashboard 服务
Dashboard 开启用户名密码登录
“如何给 Kubernetes Dashboard 增加用户名密码认证功能”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。