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

K8S的dashboard使用token登录

简介

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

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

本文用到的文件

上边.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

评论0

请先

显示验证码
没有账号?注册  忘记密码?

社交账号快速登录