1 概述
- 之前在kubernetes中完成的所有操作都是通过命令行工具kubectl完成的。其实,为了提供更丰富的用户体验,kubernetes还开发了一个基于web的用户界面(DashBoard)。用户可以使用DashBoard部署容器化的应用,而且还可以监控应用的状态,执行故障排查以及管理kubernetes中的各种资源。
2 部署DashBoard
2.1 下载yaml,并运行DashBoard
wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0/aio/deploy/recommended.yaml
- 修改kubernetes-dashboard的Service类型
vim recommended.yaml
kind: Service
apiVersion: v1
metadata:
labels:
k8s-app: kubernetes-dashboard
name: kubernetes-dashboard
namespace: kubernetes-dashboard
spec:
type: NodePort # 新增
ports:
- port: 443
targetPort: 8443
nodePort: 30009 # 新增
selector:
k8s-app: kubernetes-dashboard
![修改kubernetes-dashboard的Service类型.png](/uploads/projects/zzrfhc@amiddc/8d46d77cade33bb1f6a915b1952569ce.png)
kubectl create -f recommended.yaml
![部署DashBoard.png](/uploads/projects/zzrfhc@amiddc/9098237e189f4acbad3732d34cb57979.png)
- 查看namespace为kubernetes-dashboard下的资源:
kubectl get pod,svc -n kubernetes-dashboard
![查看namespace为kubernetes-dashboard下的资源.png](/uploads/projects/zzrfhc@amiddc/0f3c884bde864bf90eecd4c1a4162f56.png)
2.2 创建账户,获取token
kubectl create serviceaccount dashboard-admin -n kubernetes-dashboard
![创建账户.png](/uploads/projects/zzrfhc@amiddc/4b745544447150debbe44af5238ef1ff.png)
kubectl create clusterrolebinding dashboard-admin-rb --clusterrole=cluster-admin --serviceaccount=kubernetes-dashboard:dashboard-admin
![授权.png](/uploads/projects/zzrfhc@amiddc/4d238312cef56e778d6c334bd61dbf7b.png)
kubectl get secrets -n kubernetes-dashboard | grep dashboard-admin
![获取账号token1.png](/uploads/projects/zzrfhc@amiddc/bc4f97a15b4cca86f0b0b2f7f6410927.png)
kubectl describe secrets dashboard-admin-token-b992l -n kubernetes-dashboard
![获取账号token2.png](/uploads/projects/zzrfhc@amiddc/d309505e8aefeec2beac85efb1675aab.png)
2.3 通过浏览器访问DashBoard的UI
![在登录页面输入上面的token.png](/uploads/projects/zzrfhc@amiddc/e8085864ec726e1288aa03e63a392d61.png)
![成功部署DashBoard.png](/uploads/projects/zzrfhc@amiddc/c02b0c16c579adf1a2600705ef06107f.png)