xinhu1300 发表于 2018-1-4 17:48:55

Kubernetes dashboard集成heapster

  图形化展示度量指标的实现需要集成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个部署文件
https://images2015.cnblogs.com/blog/892532/201705/892532-20170512112440285-1619531911.png
  参看这几个 yaml文件,预先把需要pull的image在nodes节点上准备好
  docker pull kubernetes/heapster:canary
  docker pull kubernetes/heapster_influxdb:v0.5
  docker pull gcr.io/google_containers/heapster_grafana:v2.6.0-2
  运行创建(master)
  然后在master节点上运行

kubectl create -f deploy/kube-config/influxdb/  通过kube get pods -n kube-system发现heapster-zm85m没有运行起来,基于下面命令查看日志
https://images2015.cnblogs.com/blog/892532/201705/892532-20170512122416160-741198415.png

kubectl logs -f pods/heapster-zm85m -n kube-system  发现错误
https://images2015.cnblogs.com/blog/892532/201705/892532-20170512122459347-1292068497.png
  编辑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文件:  

  

# 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,就可以看到获取的监控数据啦
https://images2015.cnblogs.com/blog/892532/201705/892532-20170512123109441-734713297.png
  

  

https://images2015.cnblogs.com/blog/892532/201705/892532-20170512123145113-820830303.png  
页: [1]
查看完整版本: Kubernetes dashboard集成heapster