部署 heapster 插件

article/2025/10/25 6:31:25

说明:本部署文章参照了 https://github.com/opsnull/follow-me-install-kubernetes-cluster ,欢迎给作者star

Heapster是一个收集者,将每个Node上的cAdvisor的数据进行汇总,然后导到第三方工具(如InfluxDB)。

Heapster 是通过调用 kubelet 的 http API 来获取 cAdvisor 的 metrics 数据的。

由于 kublet 只在 10250 端口接收 https 请求,故需要修改 heapster 的 deployment 配置。同时,需要赋予 kube-system:heapster ServiceAccount 调用 kubelet API 的权限。

注意:如果没有特殊指明,本文档的所有操作均在 k8s-master1节点上执行。

下载 heapster 文件

cd /opt/k8s/work
wget https://github.com/kubernetes/heapster/archive/v1.5.4.tar.gz
tar -xzvf v1.5.4.tar.gz
mv v1.5.4.tar.gz heapster-1.5.4.tar.gz

官方文件目录: heapster-1.5.4/deploy/kube-config/influxdb

修改配置

$ cd heapster-1.5.4/deploy/kube-config/influxdb
$ cp grafana.yaml{,.orig}
$ diff grafana.yaml.orig grafana.yaml
67c67
<   # type: NodePort
---
>   type: NodePort
  • 开启 NodePort;
$ cp heapster.yaml{,.orig}
$ diff heapster.yaml.orig heapster.yaml
<         - --source=kubernetes:https://kubernetes.default
---
>         - --source=kubernetes:https://kubernetes.default?kubeletHttps=true&kubeletPort=10250
  • 由于 kubelet 只在 10250 监听 https 请求,故添加相关参数;

下载镜像

images=(heapster-amd64:v1.5.3heapster-grafana-amd64:v4.4.3heapster-influxdb-amd64:v1.3.3
)for imageName in ${images[@]} ; dodocker pull registry.cn-hangzhou.aliyuncs.com/google_containers/$imageNamedocker tag registry.cn-hangzhou.aliyuncs.com/google_containers/$imageName gcr.io/google_containers/$imageName
done

 

执行所有定义文件

$ cd  /opt/k8s/work/heapster-1.5.4/deploy/kube-config/influxdb
$ ls *.yaml
grafana.yaml  heapster.yaml  influxdb.yaml
$ kubectl create -f  .$ cd ../rbac/
$ cp heapster-rbac.yaml{,.orig}
vim heapster-rbac.yaml
 kind: ClusterRoleBindingapiVersion: rbac.authorization.k8s.io/v1beta1metadata:name: heapster-kubelet-apiroleRef:apiGroup: rbac.authorization.k8s.iokind: ClusterRolename: system:kubelet-api-adminsubjects:- kind: ServiceAccountname: heapsternamespace: kube-systemkubectl create -f heapster-rbac.yaml
  • 将 serviceAccount kube-system:heapster 与 ClusterRole system:kubelet-api-admin 绑定,授予它调用 kubelet API 的权限;

如果不修改,默认的 ClusterRole system:heapster 权限不足:

E1128 10:00:05.010716 1 manager.go:101] Error in scraping containers from kubelet:172.27.128.150:10250: failed to get all container stats from Kubelet URL "https://172.27.128.150:10250/stats/container/": request failed - "403 Forbidden", response: "Forbidden (user=system:serviceaccount:kube-system:heapster, verb=create, resource=nodes, subresource=stats)" E1128 10:00:05.018556 1 manager.go:101] Error in scraping containers from kubelet:172.27.128.149:10250: failed to get all container stats from Kubelet URL "https://172.27.128.149:10250/stats/container/": request failed - "403 Forbidden", response: "Forbidden (user=system:serviceaccount:kube-system:heapster, verb=create, resource=nodes, subresource=stats)" E1128 10:00:05.022664 1 manager.go:101] Error in scraping containers from kubelet:172.27.128.148:10250: failed to get all container stats from Kubelet URL "https://172.27.128.148:10250/stats/container/": request failed - "403 Forbidden", response: "Forbidden (user=system:serviceaccount:kube-system:heapster, verb=create, resource=nodes, subresource=stats)" W1128 10:00:25.000467 1 manager.go:152] Failed to get all responses in time (got 0/3)

检查执行结果

[root@k8s-master1 influxdb]# kubectl get pods -n kube-system | grep -E 'heapster|monitoring'
heapster-7b5d8fb59c-997p8               1/1     Running   0          10m
monitoring-grafana-59d85ddc6-ws7j9      1/1     Running   0          10m
monitoring-influxdb-5fffc746fd-m7bbb    1/1     Running   0          10m

检查 kubernets dashboard 界面,可以正确显示各 Nodes、Pods 的 CPU、内存、负载等统计数据和图表:

 

 

访问 grafana

通过 kube-apiserver 访问:

获取 monitoring-grafana 服务 URL:

[root@k8s-master1 influxdb]# kubectl cluster-info
Kubernetes master is running at https://192.168.161.150:8443
Heapster is running at https://192.168.161.150:8443/api/v1/namespaces/kube-system/services/heapster/proxy
CoreDNS is running at https://192.168.161.150:8443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
kubernetes-dashboard is running at https://192.168.161.150:8443/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy
monitoring-grafana is running at https://192.168.161.150:8443/api/v1/namespaces/kube-system/services/monitoring-grafana/proxy
monitoring-influxdb is running at https://192.168.161.150:8443/api/v1/namespaces/kube-system/services/monitoring-influxdb/proxy

To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.

 

---恢复内容结束---

转载于:https://www.cnblogs.com/gytangyao/p/10872605.html


http://chatgpt.dhexx.cn/article/TeM3rilA.shtml

相关文章

每天5分钟玩转Kubernetes | Heapster

书籍来源&#xff1a;cloudman《每天5分钟玩转Kubernetes》 一边学习一边整理老师的课程内容及试验笔记&#xff0c;并与大家分享&#xff0c;侵权即删&#xff0c;谢谢支持&#xff01; 附上汇总贴&#xff1a;每天5分钟玩转Kubernetes | 汇总_COCOgsta的博客-CSDN博客 Heap…

Kubernetes监控Heapster介绍

什么是Heapster&#xff1f; Heapster是容器集群监控和性能分析工具&#xff0c;天然的支持Kubernetes和CoreOS。 Kubernetes有个出名的监控agent—cAdvisor。在每个kubernetes Node上都会运行cAdvisor&#xff0c;它会收集本机以及容器的监控数据(cpu,memory,filesystem,netw…

nginx部署https域名

目录 一、准备工作 二、部署项目 三、修改nginx的配置文件 一、准备工作 1、首先你要有一台服务器&#xff0c;本篇文章是创建在腾讯云服务器的基础上的&#xff0c;仅供参考 2、在服务器上注册域名&#xff0c;这个域名注册等待审核时间较长&#xff0c;建议提早注册&…

域名解析与nginx配置

dns解析 阿里云服务器dns域名解析配置&#xff0c;记录值就是阿里云服务器的ip nginx配置 远程到阿里云服务器上对nginx进行配置&#xff1a; nginx反向代理配置&#xff1a; 修改配置后&#xff0c;重启nginx服务 进入目录&#xff1a;cd /usr/sbin 强制杀死进程&#xff…

linux nginx部署项目配置域名

一.把项目打包&#xff08;jar&#xff09; 二.把jar包通过xshell上传 三.编辑nginx.conf文件&#xff0c;配置域名&#xff0c;每配置一个域名就复制一份里面的server 1 代表你所要配置的域名 2 代表你项目浏览器访问路径 四.在项目上传的目录下&#xff08;jar包所放的位…

Docker部署nginx、配置域名

文章目录 背景1. 拉取nginx镜像2. 启动nginx3. 通过docker修改nginx配置1) 挂载配置文件2) 重新加载配置文件 4. 配置我的域名小结 背景 docker 容器相关技术已经成为了现在开发和运维人员的热门技术之一&#xff0c;docker就像一个集装箱能够将各种应用放入到集装箱里的盒子里…

nginx配置域名访问/禁止ip访问

一 背景 为什么要禁止ip访问? 为了避免其他人把未备案的域名解析到自己的服务器IP&#xff0c;而导致服务器被断网&#xff0c;我们可以通过禁止使用ip访问的方法&#xff0c;防止此类事情的发生。 二 解决方法 修改配置文件nginx.conf, 其中2.2的方法可以参考 ubuntu18.04…

配置nginx域名转发

这应该是&#xff0c;我在这个网站的最后一篇博客了。 国庆的时候不知道为什么突然买了个服务器&#xff0c;我打算自己建一个博客网站了&#xff0c;然后前两天域名刚备案成功&#xff0c;晚上有空就配置服务器。 服务器先安装jdk&#xff0c;jre基础环境&#xff0c;然后ngi…

Nginx 服务器配置域名证书

1、首先去申请域名证书&#xff0c;或者购买。都可以&#xff0c;腾讯、阿里、华为、均可&#xff0c;最好域名跟证书在一个服务商处。 2、申请好域名后&#xff0c;进行域名解析配置。证书方会让你&#xff0c;添加提供的解析内容。 3、下载证书&#xff0c;证书提供商会提供…

【Nginx】Nginx主机域名配置

一、配置多个端口访问不同文件 相同域名&#xff0c;不同端口&#xff0c;不同文件 #两个不同文件夹&#xff0c;分别存放不同文件 [rootnginx ~]# mkdir /www/work_01 -p [rootnginx ~]# mkdir /www/work_02 [rootnginx ~]# vim /www/work_01/index.html this is work_01! [r…

阿里云ECS部署Nginx配置域名访问

目录 前言环境 具体步骤服务器域名SSL证书Nginx配置 前言 记录下阿里云服务器建站的过程&#xff08;回回建&#xff0c;回回忘&#xff0c;尴尬。。。&#xff09; 环境 ECS&#xff08;Centos7.6&#xff09; Nginx 具体步骤 服务器 首先&#xff0c;需要购买一台服务器 …

Nginx配置域名服务小试牛刀

最近实际操作的一个项目哦&#xff0c;大家看下有没有帮助哦&#xff01;Nginx 配置通过域名访问项目&#xff01; 项目目的&#xff1a;将打包好的项目jar文件部署起来&#xff0c;并能够通过域名访问 准备条件&#xff1a; 1.服务器端安装需要的1.jdk 选择1.8版本 Linux…

nginx 配置域名映射到本地IP

需求背景 项目需求需要在不同的域名下&#xff0c;判断展示不同的内容&#xff0c;为了模拟线上的正式域名&#xff0c;有以下几种方案&#xff1a; 方案一&#xff1a; 配置host: 1、找到host的文件地址&#xff08;不会的百度&#xff09; 2、配置host: 127.0.0.1 www.t…

nginx配置域名,不要端口

版权声明&#xff1a;本文为博主转载文章&#xff0c;遵循 CC 4.0 BY-SA 版权协议&#xff0c;转载请附上原文出处链接和本声明。 本文链接&#xff1a; https://blog.csdn.net/panshoujia/article/details/91411484 前期在腾讯云上购买了域名&#xff0c;并在域名管理中&…

服务器部署nginx配置域名反向代理

下载最新版Nginx镜像 docker pull nginx:latest运行nginx镜像 docker run -p 80:80 --name nginx -d nginx从nginx容器中映射核心文件 1、本地创建文件目录 mkdir -p /opt/docker/nginx/conf.d mkdir -p /opt/docker/nginx/html mkdir -p /opt/docker/nginx/logs mkdir -p …

Nginx配置二级域名的方法分享

本文主要介绍了Nginx配置二级域名的方法实现&#xff0c;文中通过示例代码介绍的非常详细&#xff0c;对大家的学习或者工作具有一定的参考学习价值&#xff0c;需要的朋友们下面随着微点阅读小编来一起学习学习吧 当一个域名需要使用在两个项目上后&#xff0c;我们就需要使用…

nginx配置域名访问

1. 本地开发好的demo程序&#xff0c;target目录下&#xff0c;把META-INF 、WEB-INF、index.jsp 所有文件打成zip包&#xff0c;如下图&#xff1a; 2. Linux服务器下&#xff0c;部署到Tomcat下&#xff0c;清空ROOT目录下所有文件&#xff0c;把1中nginx.zip文件放到ROOT目…

Nginx虚拟域名配置

Linux下Nginx虚拟域名配置 (一)编辑sudo vim /usr/local/nginx/conf/nginx.conf 1.于http内增加include vhost/*.conf 2.保存退出(:wq) (二)在/usr/local/nginx/conf/目录下新建vhost文件夹(/usr/local/nginx/conf/vhost) mkdir /usr/local/nginx/conf/vhost (三)创建域名转发配…

Nginx域名配置详细介绍

前言 1、基本命令 1.1、启动 Linux ./nginx -c conf/nginx.conf windows start nginx1.2、停止 ./nginx -s stop1.3、有序退出 ./nginx -s quit1.4、配置修改后&#xff0c;重新载入 ./nginx -s reload1.5、重启 ./nginx -s reopen 1.6、检测配置文件 ./nginx -t1.7、…

js模拟点击a标签,触发href

js中的$(…).click()事件只能触发绑定的onClick方法&#xff0c;不能跳转到href。 常规情况下如果想下如果想在js里跳转href的链接&#xff0c;会先用attr获取到href属性的值&#xff0c;然后window.location.href跳转&#xff0c;但是现在想利用a标签的download属性实现下载功…