1. 部署
执行命令:
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta8/aio/deploy/recommended.yaml
该命令是从Github上拉取recommended.yaml文件并运行。
2. 验证
查看pod的状态为running说明dashboard部署成功
kubectl get svc,pods -n kubernetes-dashboard
3. 查看代理是否正确安装部署
kubectl cluster-info
因为我们是使用代理来安装dashboard,所以要先看看代理是否可以正常使用。
4. 启用代理
kubectl proxy
输入上述命令后,光标一直在闪,命令行中无法继续输入其他命令。此时千万不要关闭命令窗口!一定要保持命令窗口不动,并打开浏览器。
在浏览器中输入以下网址:
http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/
得到下图所示页面:
并选择Token,输入密码。密码怎么获取呢?见下述操作:
5. Token密码获取
打开另一个Terminal命令窗口(之前的kubectl proxy不能关闭,另外打开一个窗口即可),为了获取token密码,先创建一个文件:
vi dashboard-adminuser.yaml
文件内容为:
apiVersion: v1 kind: ServiceAccount metadata: name: admin-user namespace: kubernetes-dashboard --- apiVersion: rbac.authorization.k8s.io/v1beta1 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
应用dashboard-adminuser,yaml:
kubectl create -f dashboard-adminuser.yaml
查看admin-user用户的token
kubectl get secret -n kubernetes-dashboard
记录下面NAME中的admin-user-tokem-v88nt!!!
输入下属命令获取密码:
kubectl describe secret admin-user-token-v88nt -n kubernetes-dashboard
( 需要注意的是: 这里要跟你你电脑所显示的名字一致,我的显示的是admin-user-tokem-v88nt,所以我这里输入的是或者admin-user-tokem-v88nt的密码!你自己电脑上,输入kubectl get secret -n kubernetes-dashboard## 后显示的是什么,你就输什么。一般而言,就是最后那四位数字与字母不一样,你只需要把v88nt做相应的修改即可)
将token后面的那一长串(eyJhbG…jAQ)复制,并粘贴到之前打开的网页里:
最后点登陆(sign in)
即可看到最终的登陆页面,当然我这里的pod并没有全部启用起来,所以存在一些红色。正常的应该全是绿色。
6. 密码提取
往后需要再次登陆dashboard页面且让你输密码的时候,你只需要输入以下命令即可重新提取密码:
kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes-dashboard get secret | grep admin-user | awk '{print $1}')
参考网址:托塔天王李
感谢托塔天王李贡献的博客!