DashBoard-身份验证

dashboard1.7.1版本之后,新增了用户登录认证的功能。

默认dashboard会跳转到登录页面:

dashboard login

我们可以看到dashboard提供了Kubeconfigtoken两种登录方式,我们可以直接跳过或者使用本地的Kubeconfig文件进行登录,可以看到会跳转到如下页面:

这是由于该用户没有对default命名空间的访问权限。

身份认证

登录dashboard 的时候支持Kubeconfigtoken 两种认证方式,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.输入令牌登陆:

猜你喜欢

转载自www.cnblogs.com/fuyuteng/p/9501058.html