前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >手把手教你给 Kubernetes Dashboard 增加用户名密码认证功能

手把手教你给 Kubernetes Dashboard 增加用户名密码认证功能

作者头像
iMike
发布2021-07-01 09:36:06
2.1K1
发布2021-07-01 09:36:06
举报
文章被收录于专栏:运维之美运维之美

仪表板是基于 WebKubernetes 用户界面。您可以使用仪表板将容器化应用程序部署到 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

  • 创建用户文件
    • 格式:userpassworduserID"group1,group2"
    • 注意:userID 不可重复
代码语言:javascript
复制
# 创建用户名密码配置文件
# 在所有的master节点配置用户名密码
$ echo 'admin,admin,1' | sudo tee /etc/kubernetes/pki/basic_auth_file
  • 修改配置文件
    • 将上述创建好的用户名密码文件添加到下述文件中
代码语言:javascript
复制
# 配置修改
$ 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 服务
    • 使刚才的修改生效
代码语言:javascript
复制
# 重启
$ 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 角色绑定
代码语言:javascript
复制
# 权限绑定
$ 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 配置文件
代码语言:javascript
复制
$ 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 开启用户名密码登录

本文转载自:「 Ecsape 的博客 」,原文:http://t.cn/A6c6nQfG ,版权归原作者所有。欢迎投稿,投稿邮箱: editor@hi-linux.com。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-05-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 奇妙的Linux世界 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档