圖形化展示度量指標的實現需要集成k8s的另外一個Addons組件: Heapster 。
Heapster原生支持K8s(v1.0.6及以后版本)和 CoreOS ,並且支持多種存儲后端,比如: InfluxDB 、 ElasticSearch 、 Kafka 。
下載源包和images文件
下載地址https://github.com/kubernetes/heapster/archive/v1.2.0.zip,將包copy到kubernetes master節點上去.
打開deploy/kube-config/influxdb目錄看到5個部署文件
參看這幾個 yaml文件,預先把需要pull的image在nodes節點上准備好
docker pull kubernetes/heapster:canary |
運行創建(master)
然后在master節點上運行
kubectl create -f deploy/kube-config/influxdb/ |
通過kube get pods -n kube-system發現heapster-zm85m沒有運行起來,基於下面命令查看日志
kubectl logs -f pods/heapster-zm85m -n kube-system |
發現錯誤
編輯heapster-control.yaml文件,把其中source這行替換成本機的api server ip並添加?inClusterConfig=false
刪除之前創建的pod重新create一遍.
spec: containers: - name: heapster image: kubernetes/heapster:canary imagePullPolicy: Always command: - /heapster - --source=kubernetes:http://<api server ip>:<port>?inClusterConfig=false - --sink=influxdb:http://monitoring-influxdb:8086
最后的yaml文件:
[root@k8s-master influxdb]# cat heapster-controller.yaml apiVersion: v1 kind: ReplicationController metadata: labels: k8s-app: heapster name: heapster version: v6 name: heapster namespace: kube-system spec: replicas: 1 selector: k8s-app: heapster version: v6 template: metadata: labels: k8s-app: heapster version: v6 spec: containers: - name: heapster image: kubernetes/heapster:canary command: - /heapster - --source=kubernetes:http://10.182.169.33:8080?inClusterConfig=false - --sink=influxdb:http://monitoring-influxdb:8086
# kubectl delete -f deploy/kube-config/influxdb/ # kubectl create -f deploy/kube-config/influxdb/ |
再次打開kubernetes dashboard,就可以看到獲取的監控數據啦

