关键词:
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地址如下:
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本篇实验部署是接上... 查看详情