Kubernetes 的全功能Web界面-Dashboard
Dashboard具体概念,请阅读官方文档:https://kubernetes.io/zh-cn/blog/2016/07/15/dashboard-web-interface-for-kubernetes/
安装部署Dashboard
官方项目地址
1
| https://github.com/kubernetes/dashboard
|
下载配置文件并应用
1 2 3
| wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.4/aio/deploy/recommended.yaml
https://github.com/kubernetes/dashboard/releases?page=2
|

应用资源配置
1
| kubectl create -f recommended.yaml
|
查看创建的Pod
1
| kubectl -n kubernetes-dashboard get pods
|

安装部署Metrics Scraper
请阅读>>Kubernetes HPA监控
创建Ingress资源并应用
创建资源配置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: kubernetes-dashboard-ingress namespace: kubernetes-dashboard annotations: kubernetes.io/ingress.class: "nginx" ingress.kubernetes.io/ssl-passthrough: "true" nginx.ingress.kubernetes.io/backend-protocol: "HTTPS" nginx.ingress.kubernetes.io/rewrite-target: / spec: rules: - host: "dashboard.k8s.com" http: paths: - path: / pathType: ImplementationSpecific backend: service: name: kubernetes-dashboard port: number: 443
|
应用配置
1
| kubectl apply -f dashboard-ingress.yaml
|
关键参数解释
1 2 3 4 5
| annotations: kubernetes.io/ingress.class: "nginx" ingress.kubernetes.io/ssl-passthrough: "true" nginx.ingress.kubernetes.io/backend-protocol: "HTTPS" nginx.ingress.kubernetes.io/rewrite-target: /
|
访问网页测试
1 2
| 172.16.32.145 dashboard.k8s.com
|

1 2
| https://dashboard.k8s.com
|


创建管理员账户并应用
创建授权资源配置清单
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| apiVersion: v1 kind: ServiceAccount metadata: name: admin-user namespace: kubernetes-dashboard --- 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: kubernetes-dashboard
|
应用资源配置清单
1
| kubectl create -f dashboard-admin.yaml
|
查看资源并获取token
1 2 3 4
| kubectl get pod -n kubernetes-dashboard -o wide kubectl get svc -n kubernetes-dashboard kubectl get secret -n kubernetes-dashboard
|

复制Token到浏览器登录
1 2
| kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes-dashboard get secret | grep admin-user | awk '{print $1}')|grep "token:"|awk '{print $2}'
|


