k8s监控组件heapster安装部署

author author     2022-08-24     793

关键词:

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   



 

部署步骤:

 

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

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

[[email protected] 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

[[email protected] 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

 

 

版本二:

[[email protected] ~]# wgethttps://github.com/kubernetes/heapster/archive/v1.2.0.tar.gz

[[email protected] ~]# tar zxvfv1.2.0.tar.gz

[[email protected] ~]# cdheapster-1.2.0/

[[email protected] ~]# cddeploy/

[[email protected] ~]# catkube.sh

[[email protected] influxdb]#vim heapster-controller.yaml

[[email protected] influxdb]#pwd

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

 

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

[email protected]:~# 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介绍方法安装部署

[[email protected] influxdb]#pwd

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

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

[[email protected] 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  

[[email protected] influxdb]#kubectl create -f ./

service"monitoring-grafana" created

replicationcontroller"heapster" created

service "heapster"created

replicationcontroller"influxdb-grafana" created

service"monitoring-influxdb" created

 

[[email protected] 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

 

[[email protected] 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


 技术分享

 

grafana地址如下:

http://172.17.3.7:30226/


技术分享

 

5,排错dashboard不出监控图(网友Moc<[email protected]>指导)

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

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

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

[[email protected] 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


本文出自 “jerrymin” 博客,请务必保留此出处http://jerrymin.blog.51cto.com/3002256/1904460

heapster安装(k8s1.11以后废弃了)

HeapSterInfluxDB(持久存储)Grafana展示InfluxDB的数据(类似kibana)#安装InfluxDB#githubhttps://github.com/kubernetes-retired/heapster#下载文件wgethttps://raw.githubusercontent.com/kubernetes-retired/heapster/master/deploy/kube-config/influxdb/influxdb.yaml#导入kubectlapply-finflux... 查看详情

k8s插件heapster(代码片段)

部署heapster组件[[email protected]monitor]#catheapster.yamlapiVersion:v1kind:ServiceAccountmetadata: name:heapster namespace:kube-system---kind:ClusterRoleBindingapiVersion:rbac.authorizati 查看详情

k8s基础学习--metrics和hespster监控部署

最近在K8S上部署监控工具Heapster和Metrics遇到一些问题。pod启动之后显示:[[email protected]~]#kubectltopnodeErrorfromserver(ServiceUnavailable):theserveriscurrentlyunabletohandletherequest(getnodes.metrics.k8s.io)通常这种情况都是网络原因导致的问题。当... 查看详情

k8stop命令

...差异,主要分水岭是从1.9.X版本开始。kubectltop命令依赖于heapster组件,我们用下面的内容创建heapster.yaml文件:并运行kubectlapply-fheapster.yaml部署好heapster,就能通过旧版本的kubectl来执行top命令获取到资源利用率。该版本的实现原理... 查看详情

k8s+prometheus+grafana的监控部署(代码片段)

...考https://www.cnblogs.com/liugp/p/12115945.html二、Prometheus+Grafana的监控部署2.1、master/node节点环境部署在【master】可以进行安装部署安装git,并下载相关yaml文件https://gitee.com/liugpwwwroot/k8s-prometheus-grafana.git在【node】节点下载监控所需镜像... 查看详情

k8s安装之heapster与metric(代码片段)

heapster此模块,在1.8版本以后由metricserver替代wgethttps://github.com/kubernetes/heapster/archive/v1.5.4.tar.gztar-zxfv1.5.4.tar.gzcdheapster-1.5.4/kubectlcreate-fdeploy/kube-config/rbac/heapster-rbac.yaml##授权kubectlcreate-fdeploy/kube-config/standalone/heapster-controller.yaml#####... 查看详情

基于prometheus监控k8s集群

...,我们怎么监控集群中的所有容器呢?目前有三套方案:heapster+influxDBh 查看详情

prometheus+grafana(代码片段)

...联方面并没有比较好的实现方式。k8s的早期版本基于组件heapster实现对pod和node节点的监控功能,但是从k8s1.8版本开始使用metricsAPI的方式监控,并在1.11版本正式将heapster替换,后期的k8s监控主要是通过metricsServer提供核心监控指标... 查看详情

kubernetes(k8s)之资源监控(代码片段)

...-Server是集群核心监控数据的聚合器,用来替换之前的heapster。容器相关的Metrics主要来自于kubelet内置的cAdvisor服务,有了Metrics-Server之后,用户就可以通过标准的Ku 查看详情

prometheus监控k8s安装测试记录

部署环境$kubectlgetnodeNAMESTATUSROLESAGEVERSIONmaster01Readymaster13dv1.14.0master02Readymaster13dv1.14.0master03Readymaster13dv1.14.0node01Ready<none>13dv1.14.0node02Ready<none>13dv1.14.0node03Ready<none>13dv1.14.0 目录结构├──control│├──alertmanager组... 查看详情

11-部署heapster插件(代码片段)

配置和安装Heapster到heapsterrelease页面下载最新版本的heapster。$wgethttps://github.com/kubernetes/heapster/archive/v1.3.0.zip$unzipv1.3.0.zip$mvv1.3.0.zipheapster-1.3.0文件目录:heapster-1.3.0/deploy/kube-config/influxdb$ 查看详情

k8s实战--edusoho平台创建(代码片段)

...删除NodeKubernetesDashboard1.8.3部署k8s原生的集群监控方案(Heapster+InfluxDB+Grafana)项目地址k8s-edusoho平台创建镜像下载如上面的项目地址无法使用,请使用下面链接下载相应镜像dockerpullwutengfe 查看详情

k8s部署环境(代码片段)

...Master节点高可用,一旦Master节点挂了,容器管理怎么办?监控、故障恢复谁处理?二进制部署:相对复杂,生产环境适用。将重要组件以守护进程的方式部署还有一些云厂商专有的部署方式,如kops,这里就不一一介绍了。二次... 查看详情

k8s场景下logtail组件可观测方案升级-logtail事件监控发布(代码片段)

背景随着K8s和云的普及,越来越多的公司将业务系统部署到云上,并且使用K8s来部署应用。Logtail是SLS提供的日志采集Agent,能够非常好的适应K8s下各种场景的日志采集,支持通过DaemonSet方式和Sidecar方式采集Kubernete... 查看详情

k8s二进制安装

...署(先写入子网到etcd)5、自签APIServer证书6、部署APIServer组件(token.csv)7、部署controller-manager(指定apiserver证书)和scheduler组件8、生成kubeconfig(bootstrap.kubeconfig和kube-proxy.kubeconfig)9、部署kubelet组件(kubectlcreateclusterrolebindingkube... 查看详情

可观测性:监控与日志

...漏洞扫描等。事件监控:normal的事件变成-warning事件Heapster每一个Kubernetes节点上有一个cadvisor,是负责数据采集的组件。当cadvisor把数据采集完成,Kubernetes会把cadvisor采集到的数据进行包裹,暴露成相应的API。以下... 查看详情

k8s/kubernetes常用组件helm的部署(代码片段)

Helm的安装1.Helm的基本概念Helm是Kubernetes的一个包管理工具,用来简化Kubernetes应用的部署和管理。可以把Helm比作CentOS的yum工具。Helm有如下几个基本概念:Chart:是Helm管理的安装包,里面包含需要部署的安装包资源。可以把Chart比作... 查看详情

k8s部署---node节点组件部署(代码片段)

...调试信息等等...kubelet主要功能Pod管理容器健康检查容器监控kube-proxy组件介绍在node节点上实现Pod网络代理,维护网络规划和四层负载均衡工作实验部署实验环境Master01:192.168.80.12Node01:192.168.80.13Node02:192.168.80.14本篇实验部署是接上... 查看详情