原文网址:K8S的dashboard使用token登录-CSDN博客
本文介绍K8S的dashboard如何使用token登录。
Dashboard 支持 Kubeconfig 和 Token 两种认证方式,这里测试 Token 认证方式登录。
创建一个配置文件: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 角色,我们直接绑定即可。
创建用户
命令
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
命令
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)
访问一下dashboard页面(注意:必须用https访问):https://ip:30001,然后在token处输入上边生成的token:
登录成功:?
上边是默认的空间,可以查看想看的命名空间的数据:
假如我想生成过期时间为24小时的token,可以这样做:
kubectl -n kubernetes-dashboard create token admin-user --duration=86400s