Heapster -- Kubernetes Dashboard集成Heapster

原始kubernetes dashboard的界面中仅显示了pod一些配置信息,无法图形化展现集群度量指标信息。原始图如下(此处从网上找了一个图..):

这里写图片描述

而如果要展示图形化的集群度量指标信息,就需要安装一个dashboard插件:heapster

Heapster原生支持K8s(v1.0.6及以后版本)CoreOS,并且支持多种存储后端,比如:InfluxDBElasticSearchKafka等,这个风格和k8s的确很像:功能先不管完善与否,先让自己在各个平台能用起来再说。这里我们使用的数据存储后端是InfluxDB

前期准备

kubernetes安装

kubernetes安装是十分必要的,否则一切都没有意义了。安装kubernetes的文档可查看这篇文章: Kubernetes1.8.3 集群环境搭建(CentOS)。此处讲的Heapster安装配置也是基于这篇kubernetes之上的。

kubernetes dashboard安装

kubernetes dashboard安装配置文档可看这篇文章:Kubernetes dashboard1.8.0 WebUI安装与配置

相关镜像下载

此处安装Heapster需要三个镜像,下面给出了三个镜像的下载地址,建议保存到本地私有库,然后替换yaml文件中的镜像下载地址。

kubernetes/heapster:canary

kubernetes/heapster_influxdb:v0.5

signalive/heapster_grafana:2.6.0-2

Heapster安装

安装heapster

我们的Heapster也是要放在pod里运行的。当前,Heapster的最新stable版本是v1.2.0,源码包下载地址:heapster v1.2.0。将源码包下载到某个Node上,解压后,我们得到一个名为”heapster-1.2.0″的目录,进入该目录,我们可以看到如下内容:

这里写图片描述

InfluxDB为存储后端的Heapster部署yamldeploy/kube-config/influxdb下面:

[root@mimo222 heapster]# cd deploy/kube-config/influxdb
[root@mimo222 influxdb]# ll

total 20
-rw-r--r-- 1 root root  414 Sep 14  2016 grafana-service.yaml
-rw-r--r-- 1 root root  840 Dec 20 13:52 heapster-controller.yaml
-rw-r--r-- 1 root root  249 Sep 14  2016 heapster-service.yaml
-rw-r--r-- 1 root root 1515 Dec 20 13:35 influxdb-grafana-controller.yaml
-rw-r--r-- 1 root root  259 Sep 14  2016 influxdb-service.yaml

这里有五个yaml(注意:与heapster源码库中最新的代码已经有所不同,最新代码将influxdbgrafanainfluxdb-grafana-controller.yaml拆分开了)。

heapster-controller.yaml文件中包含一个image镜像,可提前打开配置文件检查镜像是否能够正常下载,若不能,则替换为 kubernetes/heapster:canary

influxdb-grafana-controller.yaml文件中包含两个image镜像,可提前检查是否能正常下载,如不能,则分别替换为:kubernetes/heapster_influxdb:v0.5signalive/heapster_grafana:2.6.0-2(替换gcr.io/google_containers/heapster_grafana:v2.6.0-2)。

修改配置

打开heapster-controller.yaml配置文件,修改原文件指定部分为下面的配置:

containers:
      - name: heapster
        image: 10.0.11.222:5000/bigdata/kubernetes/heapster:canary
        volumeMounts:
        - mountPath: /root/.kube
          name: config
        imagePullPolicy: Always
        command:
        - /heapster
        - --source=kubernetes:https://kubernetes.default?inClusterConfig=false&insecure=true&auth=/root/.kube/config
        - --sink=influxdb:http://monitoring-influxdb:8086
      volumes:
      - name: config
        hostPath:
          path: /root/.kube

1、将本地/root/.kube目录与容器中该目录挂载,使用/root/.kube目录下的config文件(该文件可查看kubernetes1.8.0安装文档kubecofig证书的生成过程)。

2、–source=kubernetes:https://kubernetes.default?inClusterConfig=false&insecure=true&auth=/root/.kube/config:修改原来–source为现在这个链接,用于连接apiserver获取度量信息。

Heapster启动

启动命令

influxdb目录下(该目录下仅保存五个yaml配置文件)执行下面命令:

[root@kube_master222 influxdb]# kubectl apply -f .

service "monitoring-grafana" created
replicationcontroller "heapster" created
service "heapster" created
replicationcontroller "influxdb-grafana" created
service "monitoring-influxdb" created

查看pod状态

pod下载镜像可能需要一小会时间,然后查看pod状态:

[root@kube_master184 influxdb]# kubectl get pods --namespace="kube-system"

NAME                                    READY     STATUS    RESTARTS   AGE
heapster-trjrn                          1/1       Running   0          29s
influxdb-grafana-nwh7h                  2/2       Running   0          29s

kube-dns-57f885b8d5-l9fdv               3/3       Running   0          2h
kube-dns-57f885b8d5-nnfvt               3/3       Running   0          2h
kube-dns-autoscaler-6b4f6964b7-hb9kh    1/1       Running   0          2h
kubernetes-dashboard-5b8c57d69c-htwch   1/1       Running   0          42m

前两个为heapsterpod

查看效果

这里写图片描述

参考文章

我安装Heapster主要参考了下面这篇文章,此处之所以再写一遍,主要是记录一些自己安装的配置,大家想要更细致的了解heapster的安装过程及可能出现的问题,建议查看这篇文章:Kubernetes Dashboard集成Heapster

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值