上边默认安装后的 Kubernetes Dashboard,是无法图形化展现集群度量指标信息的,此时我们可以通过插件 Heapser,图形化展示集群的信息,这样监控页面就更加直观明了。
首先我们去 GitHub 下载 Heapster 最新稳定版代码到本地指定目录,然后通过 yaml 文件创建并启动各个服务。这里我们选择 InfluxDB 作为后端数据存储,Grafana 作为图形化展示。
$ cd /Users/wanyang3/docker/kubernetes/ $ git clone https://github.com/kubernetes/heapster.git $ ls -l deploy/kube-config/influxdb/ total 24 -rw-r--r-- 1 wanyang3 staff 2291 10 19 14:49 grafana.yaml -rw-r--r-- 1 wanyang3 staff 1162 10 20 15:01 heapster.yaml -rw-r--r-- 1 wanyang3 staff 974 10 19 14:49 influxdb.yaml这里要注意一下,这三个 yaml 文件分别对应 heapster、influxdb 和 grafana,他们都分别需要依赖对应的 images,由于网络的问题,要么搭梯子或者替换镜像。
依赖镜像入下: gcr.io/google_containers/heapster-amd64:v1.4.0 gcr.io/google_containers/heapster-influxdb-amd64:v1.3.3 gcr.io/google_containers/heapster-grafana-amd64:v4.4.3 替换镜像如下: docker pull wanghkkk/heapster-amd64-v1.4.0:v1.4.0 docker pull wanghkkk/heapster-influxdb-amd64-v1.3.3:v1.3.3 docker pull wanghkkk/heapster-grafana-amd64-v4.4.3:v4.4.3可对应上边 yaml 文件分别修改 image 为以上对应镜像,也可以 docker tag ... 改成对应镜像名。修完完毕之后,可以通过命令创建 pod 了。
$ kubectl create -f deploy/kube-config/influxdb/ delpoyment "heapster" created service "heapster" created deployment "monitoring-influxdb" created service "monitoring-influxdb" created deployment "monitoring-grafana" created service "monitoring-grafana" created $ kubectl get pods -n kube-system NAME READY STATUS RESTARTS AGE heapster-3848557544-1548b 1/1 Running 0 1d kube-addon-manager-minikube 1/1 Running 0 1d kube-dns-910330662-653vt 3/3 Running 0 1d kubernetes-dashboard-9k5vl 1/1 Running 0 1d monitoring-grafana-2175968514-7tl3w 1/1 Running 0 1d monitoring-influxdb-1957622127-x28mz 1/1 Running 0 1d好了,Heapster 插件已经启动完毕了,如果一切正常的话,稍等几分钟(也不一定哈,我的就等了差不多20分钟才出来。。。),采集数据需要些时间,再次刷新 dashboard,就能看到集群度量指标信息将以图形化方式展现出来。
但是,如果你等了很长时间,Dashboard 还是更以前一样,没有任何变化的话,那很有可能是服务并没有正确运行起来,我们可以通过查看日志来排查原因。
$kubectl logs -f pod/monitoring-grafana-2175968514-7tl3w -n kube-system $kubectl logs -f pod/monitoring-influxdb-1957622127-x28mz -n kube-system $kubectl logs -f pod/heapster-3848557544-1548b -n kube-system