所有分类
  • 所有分类
  • 未分类

K8S的dashboard使用token登录

简介

本文介绍K8S的dashboard如何使用token登录。

Dashboard 支持 Kubeconfig 和 Token 两种认证方式,这里测试 Token 认证方式登录。

本文相关的文件

本文实际只用到了dashboard-user.yaml。

  • recommended.yaml和recommended.yaml.bak是其他文章用到的文件,只是恰好在此路径。
  • .yaml是要用到的文件,.yaml.bak是原始配置文件(仅用于备份)。

文件下载地址

1.创建权限配置文件

创建一个配置文件:dashboard-user.yaml,内容如下:

apiVersion: v1
kind: ServiceAccount
metadata:
  name: admin-user
  namespace: kubernetes-dashboard
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: admin-user
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
  - kind: ServiceAccount
    name: admin-user
    namespace: kubernetes-dashboard

说明

配置一个叫 admin-user 的服务账号,并放在 kubernetes-dashboard 命名空间下,并将 cluster-admin 角色绑定到 admin-user 账户,这样 admin-user 账户就有了管理员的权限。

默认情况下,kubeadm 创建集群时已经创建了 cluster-admin 角色,我们直接绑定即可。

2.创建用户

创建用户

命令

kubectl apply -f dashboard-user.yaml

结果

查看用户

命令

kubectl get serviceaccount -n kubernetes-dashboard

结果

备注:删除用户的方法 

kubectl delete -f dashboard-user.yaml

或者

kubectl delete serviceaccount admin-user -n kubernetes-dashboard
kubectl delete clusterrolebinding admin-user

3.获取token

命令

kubectl -n kubernetes-dashboard create token admin-user

结果(生成了token)

注意:有人说可以通过下边的命令查看token,但我执行是查不到的,可能是版本问题。

kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes-dashboard get secret | grep admin-user | awk '{print $1}')

结果:(下边红色箭头处并没有展示出Token)

4.登录页面

页面展示

访问一下dashboard页面(注意:必须用https访问):https://ip:30001,然后在token处输入上边生成的token:

登录成功: 

切换命名空间

上边是默认的空间,可以查看想看的命名空间的数据:

5.设置 token 过期时间

假如我想生成过期时间为24小时的token,可以这样做:

kubectl -n kubernetes-dashboard create token admin-user --duration=86400s
0

评论2

请先

  1. kubectl -n kubernetes-dashboard create token admin-user --duration=86400s,生成的token确实可以用一天。但是我用这个token登录,过一阵子就退出来了,又要重新用这个token登录一次,请问有什么办法解决嘛?
    梧の桐 2024-10-14 1
    • 这里应该是为了安全,token相当于临时密码,登录能获得临时的权限。我没有找到解决方法,这里知道有这个管理页面及其用法即可。管理页面可以用kubesphere替换,更高端,后边有时间的话再写个这个教程。
      自学精灵 2024-10-14 0
显示验证码
没有账号?注册  忘记密码?

社交账号快速登录