版本之后,新增了用户登录认证的功能。dashboard
1.7.1
默认dashboard
会跳转到登录页面:
我们可以看到dashboard
提供了Kubeconfig
和token
两种登录方式,我们可以直接跳过或者使用本地的Kubeconfig
文件进行登录,可以看到会跳转到如下页面:
这是由于该用户没有对default
命名空间的访问权限。
身份认证
登录dashboard
的时候支持Kubeconfig
和token
两种认证方式,Kubeconfig 中也依赖token 字段,所以生成token 这一步是必不可少的。
生成token
我们创建一个admin
用户并授予admin 角色绑定,使用下面的yaml文件创建admin用户并赋予他管理员权限,然后就可以通过token 登陆dashbaord
,这种认证方式本质实际上是通过Service Account
的身份认证加上Bearer token
请求 API server 的方式实现,参考 Kubernetes 中的认证
1.在node节点上创建:vim admin-sa.yaml
kind: ClusterRoleBinding apiVersion: rbac.authorization.k8s.io/v1beta1 metadata: name: admin annotations: rbac.authorization.kubernetes.io/autoupdate: "true" roleRef: kind: ClusterRole name: cluster-admin apiGroup: rbac.authorization.k8s.io subjects: - kind: ServiceAccount name: admin namespace: kube-system --- apiVersion: v1 kind: ServiceAccount metadata: name: admin namespace: kube-system labels: kubernetes.io/cluster-service: "true" addonmanager.kubernetes.io/mode: Reconcile
kubectl create -f admin-sa.yaml
2.上面的admin
用户创建完成后我们就可以获取到该用户对应的token
了,如下命令:
下面就是生成的admin-token就可以去dashboard界面验证登陆了:
然后在dashboard
登录页面上直接使用上面得到的token
字符串即可登录,这样就可以拥有管理员权限操作整个kubernetes
集群的对象,当然你也可以为你的登录用户新建一个指定操作权限的用户。
3.输入令牌登陆: