前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >k8s监控组件heapster安装部署

k8s监控组件heapster安装部署

作者头像
三杯水Plus
发布2018-11-14 16:53:02
7.1K0
发布2018-11-14 16:53:02
举报
文章被收录于专栏:运维运维

k8s监控组件heapster安装部署

参考文档

https://github.com/kubernetes/heapster/tree/master/deploy

k8s集群安装部署

http://jerrymin.blog.51cto.com/3002256/1898243

k8s集群RC、SVC、POD部署

http://jerrymin.blog.51cto.com/3002256/1900260 

k8s集群组件kubernetes-dashboard和kube-dns部署

http://jerrymin.blog.51cto.com/3002256/1900508

k8s集群监控组件heapster部署

http://jerrymin.blog.51cto.com/3002256/1904460

k8s集群反向代理负载均衡组件部署

http://jerrymin.blog.51cto.com/3002256/1904463 

k8s集群挂载volume之nfs

http://jerrymin.blog.51cto.com/3002256/1906778

k8s集群挂载volume之glusterfs

http://jerrymin.blog.51cto.com/3002256/1907274

部署步骤:

1,下载组件heapster源代码

由于我安装了2个版本的所以都记录了下:

版本一:

https://github.com/kubernetes/heapster

发现要在k8s集群上跑heapster,需要安装InfluxDB与Google Cloud Monitoring and GoogleCloud Logging

这是分开安装的资料,下面有个kube.sh脚本可以直接安装这两个相关组件

安装influxdb资料

https://github.com/kubernetes/heapster/tree/master/deploy/kube-config/influxdb

安装google云监控和日志

https://github.com/kubernetes/heapster/blob/master/docs/google.md

git clonehttps://github.com/kubernetes/heapster

cd heapster/deploy/

注意修改一个配置,这样没有https认证时才能和dashboard连接起来

vimdeploy/kube-config/influxdb/heapster-deployment.yaml

        - /heapster

        ---source=kubernetes:http://172.17.3.20:8080?inClusterConfig=false

        ---sink=influxdb:http://monitoring-influxdb:8086

./kube.sh start

这里是自带监控脚本安装,安装完成后会生成

[root@k8s-master deploy]#  kubectl get pods -o wide  --namespace=kube-system

NAME                                   READY     STATUS   RESTARTS   AGE       IP          NODE

heapster-791010959-npzc9               1/1       Running  0          21s       10.1.8.7    k8s-node2

kube-dns-3019842428-tqjg8              3/3       Running  6          1d        10.1.8.10   k8s-node2

kube-dns-autoscaler-2715466192-gs937   1/1      Running   2          22h       10.1.8.5    k8s-node2

kubernetes-dashboard-47555765-szbw6    1/1      Running   1          3h       10.1.8.11   k8s-node2

monitoring-grafana-3730655072-s466b    1/1      Running   0          21s       10.1.89.2   k8s-node1

monitoring-influxdb-957705310-5rswg    1/1      Running   0          21s       10.1.89.6   k8s-node1

[root@k8s-master deploy]#  kubectl logs -f heapster-791010959-npzc9  -n kube-system

I0223 06:37:52.935620       1 heapster.go:71] /heapster--source=kubernetes:http://172.17.3.20:8080?inClusterConfig=false--sink=influxdb:http://monitoring-influxdb:8086

I0223 06:37:52.935815       1 heapster.go:72] Heapster versionv1.3.0-beta.1

I0223 06:37:52.935957       1 configs.go:61] Using Kubernetes clientwith master "http://172.17.3.20:8080" and version v1

I0223 06:37:52.935976       1 configs.go:62] Using kubelet port10255

版本二:

[root@k8s-master ~]# wgethttps://github.com/kubernetes/heapster/archive/v1.2.0.tar.gz

[root@k8s-master ~]# tar zxvfv1.2.0.tar.gz

[root@k8s-master ~]# cdheapster-1.2.0/

[root@k8s-master ~]# cddeploy/

[root@k8s-master ~]# catkube.sh

[root@k8s-master influxdb]#vim heapster-controller.yaml

[root@k8s-master influxdb]#pwd

/root/heapster-1.2.0/deploy/kube-config/influxdb

2,提前在节点上pull需要的镜像

root@k8s-node1:~# dockerimages|grep heapster

docker.io/kubernetes/heapster                                    canary              0a56f7040da5        8 weeks ago         971.2 MB

gcr.io/google_containers/heapster_grafana                        v2.6.0-2            b43443930626        12 months ago       230 MB

docker.io/kubernetes/heapster_influxdb                           v0.5                a47993810aac        17 months ago       251 MB

3,按照ReadME介绍方法安装部署

[root@k8s-master influxdb]#pwd

/root/heapster-1.2.0/deploy/kube-config/influxdb

主要修改下面几行,由于镜像比较大,pull策略推荐使用本地的

[root@k8s-master influxdb]#vim heapster-controller.yaml

        image: kubernetes/heapster:canary

        imagePullPolicy: IfNotPresent

        command:

        - /heapster

        ---source=kubernetes:http://172.17.3.20:8080?inClusterConfig=false

        - --sink=influxdb:http://monitoring-influxdb:8086

开始创建svc和pod  

[root@k8s-master influxdb]#kubectl create -f ./

service"monitoring-grafana" created

replicationcontroller"heapster" created

service "heapster"created

replicationcontroller"influxdb-grafana" created

service"monitoring-influxdb" created

[root@k8s-master influxdb]#kubectl get pods -n kube-system

NAME                                   READY     STATUS   RESTARTS   AGE

heapster-r2mpn                         1/1       Running  0          8m

influxdb-grafana-dcn6q                 2/2       Running  0          8m

kube-dns-3019842428-fkgh5              3/3       Running  0          3d

kube-dns-autoscaler-2715466192-q0t0c   1/1      Running   0          3d

kubernetes-dashboard-47555765-2w64l    1/1      Running   0          3d

[root@k8s-master influxdb]#kubectl get svc -n kube-system

NAME                   CLUSTER-IP       EXTERNAL-IP   PORT(S)             AGE

heapster               10.254.174.207   <none>        80/TCP              10m

kube-dns               10.254.0.10      <none>        53/UDP,53/TCP       3d

kubernetes-dashboard   10.254.8.93      <nodes>       80:30531/TCP        3d

monitoring-grafana     10.254.142.142   <none>        80/TCP              10m

monitoring-influxdb    10.254.183.9     <none>        8083/TCP,8086/TCP   10m

4,测试验证效果

注意可以用grafana查看效果,需要用nodeport发布出来这样连接节点的IP加端口就可以访问了

dashboard地址如下:

http://172.17.3.7:30531/#/node?namespace=kube-system

wKioL1i_1a2Q43MIAAEXmZQwPoo112.jpg-wh_50
wKioL1i_1a2Q43MIAAEXmZQwPoo112.jpg-wh_50

grafana地址如下:

http://172.17.3.7:30226/

wKiom1i_1b3R_0_tAAEb8VHs2DU347.jpg-wh_50
wKiom1i_1b3R_0_tAAEb8VHs2DU347.jpg-wh_50

5,排错dashboard不出监控图(网友Moc<fate0914@qq.com>指导)

连续试了好几个heapster版本,都是这里不出图,后来经网友指导dashboard是通过apiserver api接口去取的监控数据,kube-apiserver安装在k8s-master节点,

该节点没有安装网络组件,由于单独安装flanneld,不用覆盖docker0,所以只需要一条命令启动,下面这个配置文件是做成开机启动的。

(前期一直没有查看dashboard日志,只是在heapster,influxdb,grafana查找所以一直没有找到原因。)

[root@k8s-master system]# cat/usr/lib/systemd/system/flanneld.service

[Unit]

Description=Flanneld overlayaddress etcd agent

After=network.target

After=network-online.target

Wants=network-online.target

#After=etcd.service

#Before=docker.service

[Service]

Type=notify

EnvironmentFile=/etc/sysconfig/flanneld

EnvironmentFile=-/etc/sysconfig/docker-network

ExecStart=/usr/local/bin/flanneld-etcd-endpoints=http://172.17.3.20:2379 -etcd-prefix=/k8s/network

Restart=on-failure

[Install]

WantedBy=multi-user.target

RequiredBy=docker.service

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017/03/08 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
Grafana 服务
Grafana 服务(TencentCloud Managed Service for Grafana,TCMG)是腾讯云基于社区广受欢迎的开源可视化项目 Grafana ,并与 Grafana Lab 合作开发的托管服务。TCMG 为您提供安全、免运维 Grafana 的能力,内建腾讯云多种数据源插件,如 Prometheus 监控服务、容器服务、日志服务 、Graphite 和 InfluxDB 等,最终实现数据的统一可视化。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档