kubernetes配置dashboard

参考:

https://github.com/kubernetes/dashboard

https://github.com/kubernetes/dashboard/wiki/Creating-sample-user

首先执行以下命令,创建dashboard服务:

kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml

然后开启代理:

kubectl proxy

然后就可以在master节点所在主机上的游览器打开如下网址了:

http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/

再然后,你会发现需要认证:

令牌就是token。

接下来参考https://github.com/kubernetes/dashboard/wiki/Creating-sample-user创建一个新用户,并授予此用户管理员权限,然后使用与此用户关联的token登录dashboard。

创建dashboard-adminuser.yaml:

apiVersion: v1
kind: ServiceAccount
metadata:
  name: admin-user
  namespace: kube-system

创建cluster-role-binding.yaml

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: kube-system

注意:kubernetes不同版本之间,ClusterRoleBinding的apiVersion可能不同。在kubernetesv1.8之前的apiVersionrbac.authorization.k8s.io/v1beta1

使用上面2个yaml文件创建对应相应的服务:

kubectl apply -f dashboard-adminuser.yaml
kubectl apply -f cluster-role-binding.yaml

可以使用以下命令查看它们的情况:

kubectl -n kube-system get ServiceAccount
kubectl -n kube-system get ClusterRoleBinding

# 根据上面的命令找到对应的name(当然,在yaml配置文件中就有。。。)

kubectl -n kube-system describe ServiceAccount admin-user
kubectl -n kube-system describe ClusterRoleBinding admin-user

当上面2个服务运行起来后,接下来就可以获取token了。

使用以下命令,就会输出token:

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

这个命令有点复杂,简单解释一下:小括号中的命令只是为了获得与admin-user(即之前生成的用户)有关的secret,然后整个命令是显示该secret的详细信息。你也可以分开来执行,先执行kubectl -n kube-system get secret | grep admin-user找的secret名字,然后执行kubectl -n kube-system describe secret xxx(代表前面找到的secret名字)。

找到token后,复制,粘贴:

完美!!!

猜你喜欢

转载自blog.csdn.net/szuhuanggang/article/details/89476614
今日推荐