kubernetes-dashboard 是 k8s 官方提供的集群 Web UI,可以查看集群详细的信息,比如集群的 api 资源,pod 日志,工作负载,节点资源利用率等等。在部署 kubernetes-dashboard 前需要先安装 heapster ,heapster 用于收集数据,而 dashboard 是展示数据的界面。关于 heapster 的安装见之前文章「helm 部署 heapster 组件,k8s-1.8已经移除heapster 组件并使用 metrics-server 替代」。如果没有部署 heapster 组件,kubernetes-dashboard 的 pod 会报错:
2019/08/06 10:30:06 Metric client health check failed: the server could not find the requested resource (get services heapster). Retrying in 30 seconds.
使用官方提供的 Chart:https://github.com/helm/charts/tree/master/stable/kubernetes-dashboard对 values 文件进行一些定制:
- docker 镜像地址改为阿里云镜像地址,国内访问不了默认的镜像地址;
- service 类型改为 NodePort,并指定 nodePort 端口为 30000;
下载kubernetes-dashboard chart包
[root@k8s-master01 metrics-server]# helm search repo kubernetes-dashboard
NAME CHART VERSION APP VERSION DESCRIPTION
aliyun/kubernetes-dashboard 0.6.0 1.8.3 General-purpose web UI for Kubernetes clusters
[root@k8s-master01 metrics-server]# helm pull aliyun/kubernetes-dashboard
[root@k8s-master01 metrics-server]# ll
总用量 16
-rw-r--r-- 1 root root 3507 5月 5 12:55 components.yaml
-rw-r--r-- 1 root root 3335 4月 5 2020 components.yaml.1
-rw-r--r-- 1 root root 5286 5月 5 13:12 kubernetes-dashboard-0.6.0.tgz
[root@k8s-master01 metrics-server]# tar -xvf kubernetes-dashboard-0.6.0.tgz
[root@k8s-master01 metrics-server]# cd kubernetes-dashboard
[root@k8s-master01 kubernetes-dashboard]# ls
Chart.yaml README.md templates values.yaml
自定义配置文件
```shell cat <my-values.yaml image: repository: registry.cn-shanghai.aliyuncs.com/zdl_work/kubernetes-dashboard-amd64 tag: v1.10.1
ingress: enabled: true annotations: kubernetes.io/ingress.class: nginx kubernetes.io/tls-acme: ‘true’ nginx.ingress.kubernetes.io/backend-protocol: “HTTPS” paths:
- /
hosts:
- dashboard.guangyang.shen
tls:
- secretName: kubernetes-dashboard-tls
hosts:
- dashboard.guangyang.shen
rbac: clusterAdminRole: true
serviceAccount: name: dashboard-admin EOF ```
rbac.clusterAdminRole=true:让 dashboard 的权限够大,这样我们可以方便操作多个 namespace serviceAccount.name=dashboard-admin:配置一个名称,自动创建,方便用脚本查询登录令牌