k8s搭建kube-prometheus

后续再补一个k8s集群搭建的博客,从0开始搭建k8s集群。使用kube-prometheus非常方便,主要问题只在于拉取镜像。除了拉取镜像外其他时间5分钟即可。耐心等待拉取镜像。

一.kube-prometheus简介

kube-prometheus 是一个专为 Kubernetes 设计的开源监控解决方案,基于 Prometheus 生态构建,旨在简化集群监控组件的部署和管理。

仓库地址:https://github.com/prometheus-operator/kube-prometheus/tree/main

组件与架构

  • Prometheus Operator
    • 自动化管理 Prometheus、Alertmanager 等资源的控制器,通过 Kubernetes 自定义资源(CRD)定义监控规则和服务发现逻辑,动态生成配置文件
    • 支持高可用部署(如 StatefulSet)和数据持久化(Persistent Volume)
  • Prometheus Server
    • 核心时序数据库,负责指标采集、存储和告警规则评估
    • 支持动态服务发现(如 Kubernetes 节点、ServiceMonitor)和静态配置
  • ​Alertmanager
    • 集中处理告警信息,提供去重、分组、路由(邮件/Webhook)等功能
  • Grafana
    • 可视化平台,内置预配置的 Kubernetes 监控仪表盘(如节点资源使用、Pod 状态等)
  • ServiceMonitor
    • 自定义资源,定义 Prometheus 如何从 Kubernetes Service 抓取指标(如选择器匹配标签、端口配置)
  • ​辅助组件
    • ​Node Exporter:采集节点级指标(CPU/内存/磁盘)
    • ​kube-state-metrics:转换 Kubernetes 资源状态为 Prometheus 可识别的指标(如 Deployment 副本数)
    • ​Thanos Sidecar/Query:实现长期存储和跨集群查询(高可用场景)

二. 前置环境

1.操作系统配置

三台centos7.9的服务器

在这里插入图片描述

2.k8s集群

搭建部分可以看另一个文章。

版本为1.20.9
在这里插入图片描述

只需要配置网络插件即可,不用配ingress

在这里插入图片描述

三.拉取仓库以及apply yaml文件

1.git拉取仓库

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

查阅资料发现1.20的版本对应的是release-0.8的版本,直接加-b拉取对应版本即可

git clone https://github.com/prometheus-operator/kube-prometheus.git -b release-0.8

下完后有如下文件

在这里插入图片描述

2. apply配置文件

直接在github官网拿去配置命令即可,注意不同的release版本命令不太一样。我的是0.8版本

第二行代码要进入setup文件执行,再cd…出来运行第三行代码

# Create the namespace and CRDs, and then wait for them to be available before creating the remaining resources
kubectl create -f manifests/setup
until kubectl get servicemonitors --all-namespaces ; do date; sleep 1; echo ""; done
kubectl create -f manifests/

这里创建的东西都会在monitoring这个命名空间里,查询容器时注意加命名空间,拉取时间比较长,耐心等待20分钟。

在这里插入图片描述

其实执行完这两个步骤如果能够全部runing起来就很容易了,但是大部分情况下有部分容器会拉取不到。所以可以使用dockerhub来拉起镜像

3.拉取不到镜像的解决办法

在这里插入图片描述

假设我这个pod拉取不下来,处于rollback状态之类的状态,我们可以直接进入menifests文件夹找到这个名字的deployment.yaml

在这里插入图片描述

vim进入该文件后找到image,把它改成一个可以使用的,原本是一个k8s.io的image,我找到的是图片中的这个image地址,改完保存出来apply后下载起来就快了

apply -f kube-state-metrics-deployment.yaml  

在这里插入图片描述

4.dockerhub上查询images

如何找到上面的image网址呢?可以直接上浏览器打开dockerhub.com,最好使用梯子

在这里插入图片描述

search栏直接搜索你要的镜像,比如我要的镜像是kube-state-metrics的2.0.0版本

那就直接搜索kube-state-metrics即可

在这里插入图片描述

点进去点击tag再查询跟你一样的版本即可,注意选择版本号就行,不带其他字符

在这里插入图片描述

四.修改部分服务TYPE使其对外部可见

需要将alertmanger-main,grafana和node-exporter的type修改为nodeport,才能够在浏览器中访问

在这里插入图片描述

1.修改alertmanger-service.yaml

在spec中加入type

在这里插入图片描述

执行

kubectl apply -f alertmanager-service.yaml

改完后再次查看svc,可以看到alertmanger-main的type已经变成了NodePort,并且其端口号映射到了32104

在这里插入图片描述

这时我们访问主机的32104端口号就可以进入alertmanger的界面了

在这里插入图片描述

2.修改grafana-service.yaml

同上在spce中加入type字段

在这里插入图片描述

再执行

kubectl apply -f grafana-service.yaml 

可以看到grafana也变成了nodeport,同时其端口也对外暴露了

在这里插入图片描述

在浏览器中打开32667端口,能够正常进入界面

在这里插入图片描述

3.修改prometheus-service.yaml

同上在spce中加入type字段
在这里插入图片描述

再执行

kubectl apply -f prometheus-service.yaml

可以看到prometheus-k8s的type变为了nodeport,同时暴露其端口

在这里插入图片描述

在浏览器中打开31695端口,能够正常进入界面

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/37824.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

QT网页显示的几种方法及对比

一.直接跳转打开网页 1.使用QDesktopServices::openUrl调用系统浏览器 原理:直接调用操作系统默认浏览器打开指定URL,不在应用程序内嵌入网页。 优点: 实现简单,无需额外模块或依赖。 适用于仅需跳转外部浏览器的场景。 缺点&…

【Java SE】抽象类/方法、模板设计模式

目录 1.抽象类/方法 1.1 基本介绍 1.2 语法格式 1.3 使用细节 2. 模板设计模式(抽象类使用场景) 2.1 基本介绍 2.2 具体例子 1.抽象类/方法 1.1 基本介绍 ① 当父类的某些方法,需要声明,但是又不确定如何实现时&#xff…

Python数据可视化工具:六西格玛及其基础工具概览

在当今数据驱动的时代,数据分析和可视化工具成为了各行业优化流程、提升质量的关键手段。六西格玛(Six Sigma)作为一种以数据为基础、追求完美质量的管理理念,其实施依赖于一系列基础工具的灵活运用。而Python,凭借其强…

调试 Rust + WebAssembly 版康威生命游戏

1. 启用 Panic 日志 1.1 让 Panic 信息显示在浏览器控制台 如果 Rust 代码发生 panic!(),默认情况下不会在浏览器开发者工具中显示详细的错误信息。这使得排查问题变得困难。 我们可以使用 console_error_panic_hook 这个 Rust crate,将 Panic 信息打…

网络编程中客户端与服务器的搭建与协议包应用

1.客户端的搭建 2.服务器搭建 3.TCP中的粘包现象 tcp协议为了提高发送的效率,会将短时间连续发送的小数据,当做一组数据统一发送 原理是: tcp协议本身存在一个1500字节的缓存区,tcp协议每次write发送数据的时候,总是…

微博ip属地不发微博会不会变

随着社交媒体的普及,微博作为其中的佼佼者,一直备受关注。而且微博上线了显示用户IP属地的功能,这一功能旨在减少冒充热点事件当事人、恶意造谣、蹭流量等不良行为,确保传播内容的真实性和透明度。然而,这也引发了一些…

【初探数据结构】树与二叉树

💬 欢迎讨论:在阅读过程中有任何疑问,欢迎在评论区留言,我们一起交流学习! 👍 点赞、收藏与分享:如果你觉得这篇文章对你有帮助,记得点赞、收藏,并分享给更多对数据结构感…

Neo4j GDS(Graph Data Science)库安装(Mac版)

Neo4j GDS(Graph Data Science)库安装(Mac版) Neo4j GDS库安装(Mac版) Neo4j GDS(Graph Data Science)库安装(Mac版)前言GDS(Graph Data Science&…

DeepSeek 3FS 与 JuiceFS:架构与特性比较

近期,DeepSeek 开源了其文件系统 Fire-Flyer File System (3FS),使得文件系统这一有着 70 多年历时的“古老”的技术,又获得了各方的关注。在 AI 业务中,企业需要处理大量的文本、图像、视频等非结构化数据,还需要应对…

《南京日报》专题报道 | 耘瞳科技“工业之眼”加码“中国智造”

在江宁开发区,机器人已不再是科幻电影里的遥远想象,他们就像人类的“同事”,在工地上忙着贴砖、刷墙、搬运、检测; 在体育训练场上帮助运动员矫正姿势; 在医院里帮助医生发现帕金森早期征兆,在智慧工厂里…

SpringBoot最佳实践之 - 使用AOP记录操作日志

1. 前言 本篇博客是个人在工作中遇到的需求。针对此需求,开发了具体的实现代码。并不是普适的记录操作日志的方式。以阅读本篇博客的朋友,可以参考此篇博客中记录日志的方式,可能会对你有些许帮助和启发。 2. 需求描述 有一个后台管理系统…

投影算子(Projection Operator)的定义、性质、分类以及应用

文章目录 1. 投影算子的定义2. 投影算子的几何意义3. 一些简单的例子例 1:二维平面上的投影例 2:投影到一条任意方向的直线例 3:三维空间中投影到一个平面 4. 投影算子的性质4.1、幂等性(Idempotency): P 2…

VLAN综合实验报告

一、实验拓扑 网络拓扑结构包括三台交换机(LSW1、LSW2、LSW3)、一台路由器(AR1)以及六台PC(PC1-PC6)。交换机之间通过Trunk链路相连,交换机与PC、路由器通过Access或Hybrid链路连接。 二、实验…

coding ability 展开第五幕(二分查找算法)超详细!!!!

. . 文章目录 前言二分查找搜索插入的位置思路 x的平方根思路 山脉数组的峰顶索引思路 寻找旋转排序数组中的最小值思路 总结 前言 本专栏上篇博客已经把滑动指针收尾啦 现在还是想到核心——一段连续的区间,有时候加上哈希表用起来很爽 今天我们来学习新的算法知识…

文献阅读篇#2:YOLO改进类的文章如何高效进行文献阅读(对于初学者)

对于初学者来说,文献阅读是非常非常重要的一个学习方式,好的文献阅读方法会让学习的效率翻倍。我希望能够总结出一套比较有效的文献阅读方法,并通过记录的方法来找到不足和可改进之处 一、文献检索 对于初学者来说,应当先从中文…

数智读书笔记系列021《大数据医疗》:探索医疗行业的智能变革

一、书籍介绍 《大数据医疗》由徐曼、沈江、余海燕合著,由机械工业出版社出版 。徐曼是南开大学商学院副教授,在大数据驱动的智能决策研究领域颇有建树,尤其在大数据驱动的医疗与健康决策方面有着深入研究,曾获天津优秀博士论文、…

MarsCode AI实战:利用DeepSeek 快速搭建你的口语学习搭子

资料来源:火山引擎-开发者社区 成品抢先看! 自从MarsCode AI Chat模型全新升级,接入 Deepseek-R1、Deepseek-V3和豆包大模型1.5 三大模型,越来越多朋友注意到了AI编程能给我们带来的无限可能,也开始跃跃欲试想要尝试从…

Linux环境变量:深入解析与实用指南

目录 一、环境变量概述 二、环境变量的作用 三、环境变量的类型 3.1系统环境变量 3.2用户环境变量 四、环境变量的操作 4.1查看环境变量 4.2设置环境变量 4.3删除环境变量 五、环境变量的配置文件 六、环境变量的最佳实践 七、总结 环境变量是Linux系统中至关重要的…

C++20 线程协调类:从入门到精通

文章目录 1. 初识线程协调2. std::barrier:多线程同步的屏障2.1 核心函数2.2 示例代码2.3 高级用法2.4 适用场景 3. std::latch:一次性同步原语3.1 核心函数3.2 示例代码3.3 高级用法3.4 适用场景 4. std::counting_semaphore:可重用的同步原…

【Linux网络】手动部署并测试内网穿透

📢博客主页:https://blog.csdn.net/2301_779549673 📢博客仓库:https://gitee.com/JohnKingW/linux_test/tree/master/lesson 📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正! &…