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

公众号关注 「奇妙的 Linux 世界」

设为「星标」,每天带你玩转 Linux !

手把手教你给 Kubernetes Dashboard 增加用户名密码认证功能_第1张图片

仪表板是基于 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 不可重复

# 创建用户名密码配置文件
# 在所有的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 服务

      手把手教你给 Kubernetes Dashboard 增加用户名密码认证功能_第2张图片

Dashboard 开启用户名密码登录

本文转载自:「 Ecsape 的博客 」,原文:http://t.cn/A6c6nQfG ,版权归原作者所有。欢迎投稿,投稿邮箱: [email protected]


你可能还喜欢

点击下方图片即可阅读

手把手教你给 Kubernetes Dashboard 增加用户名密码认证功能_第3张图片

当 Kubernetes 集群证书被全部删除后,你该如何修复它?

手把手教你给 Kubernetes Dashboard 增加用户名密码认证功能_第4张图片

点击上方图片,打开小程序,加入「玩转 Linux」圈子

手把手教你给 Kubernetes Dashboard 增加用户名密码认证功能_第5张图片

更多有趣的互联网新鲜事,关注「奇妙的互联网」视频号全了解!

你可能感兴趣的:(kubernetes,docker,运维,svg,jwt)