在k8s中部署Prometheus并实现对k8s集群的监控

本文详细介绍了如何在Kubernetes环境中部署Prometheus,包括设置k8s集群、安装node-exporter、配置Prometheus服务器、创建Service以及访问测试。文章还概述了Prometheus的核心功能和在监控领域的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

🐇明明跟你说过:个人主页

🏅个人专栏:《Prometheus:监控的神》 🏅

🔖行路有良友,便是天堂🔖

目录

一、引言

1、k8s简介

2、 Prometheus概述

二、准备k8s环境

1、k8s集群搭建

2、集群状态检查

三、部署Prometheus 

1、创建名称空间

2、安装node-exporter

3、安装Prometheus server

4、创建Service

四、访问测试


一、引言

1、k8s简介

Kubernetes单词起源于希腊语, 是“舵手”或者“领航员、飞行员”的意思。

Kubernetes(简称K8s)的前世今生可以追溯到谷歌(Google)内部的一个项目,它起源于2003年,当时谷歌正面临着不断增长的应用程序和服务的管理挑战。这个项目最初被称为"Borg",是一个早期的容器编排系统。Borg 的成功经验成为 Kubernetes 开发的契机。

 有关k8s起源的介绍,请参考《初识K8s之前世今生、架构、组件、前景》这篇文章

​​

Kubernetes的优点包括可移植性、可伸缩性和扩展性。它使用轻型的YAML清单文件实现声明性部署方法,对于应用程序更新,无需重新构建基础结构。管理员可以计划和部署容器,根据需要扩展容器并管理其生命周期。借助Kubernetes的开放源代码API,用户可以通过首选编程语言、操作系统、库和消息传递总线来构建应用程序,还可以将现有持续集成和持续交付(CI/CD)工具集成。

2、 Prometheus概述

Prometheus 是一款开源的监控和警报工具,最初由 SoundCloud 开发,现已成为 Cloud Native Computing Foundation(CNCF)的一部分。它旨在帮助用户监控其应用程序和系统的性能,并能够发现故障、进行警报和分析。

以下是 Prometheus 的一些关键特点和概述:

  1. 多维数据模型: Prometheus 使用多维数据模型来存储时间序列数据,这意味着每个样本可以与任意数量的键/值标签相关联。这种灵活性使得用户可以以灵活的方式对数据进行查询和分析。
  2. 灵活的查询语言: Prometheus 提供了 PromQL(Prometheus Query Language),这是一种强大而灵活的查询语言,可以用于从 Prometheus 中提取和处理数据。
  3. 数据采集: Prometheus 通过称为 Exporters 的插件来采集数据。Exporters 可以将各种系统和服务的指标暴露给 Prometheus,例如应用程序、操作系统、数据库等。
  4. 警报管理: Prometheus 具有内置的警报管理功能,可以通过配置警报规则来触发警报。这些警报可以发送到各种通知渠道,如电子邮件、Slack 等。
  5. 可扩展性: Prometheus 是一个高度可扩展的系统,可以通过水平扩展来处理大量的时间序列数据。它支持多种存储后端,包括本地磁盘存储和远程存储系统。
  6. 社区支持: 作为 CNCF 项目的一部分,Prometheus 拥有一个庞大而活跃的社区,不断提供新的功能、改进和支持。

总的来说,Prometheus 是一个功能强大且灵活的监控系统,适用于各种规模的环境,并且可以与其他工具集成,以构建强大的监控解决方案。

有关Prometheus的详细介绍,请参考《揭秘Prometheus:诞生之旅与核心组件全解析》这篇文章

二、准备k8s环境

1、k8s集群搭建

如果还未搭建k8s集群,请参考《深度解析:Kubernetes 1.28.2集群安装过程中的关键步骤》这篇文章

### 二维前缀和算法在瓦片图案生成或处理中的应用 #### 定义与基本原理 二维前缀和是一种用于快速求解矩形区域内元素总和的技术。对于给定的一个矩阵 `A`,可以预先计算一个新的矩阵 `prefixSum`,其中每个元素 `(i,j)` 表示从原点 `(0,0)` 到当前坐标的子矩阵内所有数值之和。 通过这种方式,在后续查询任意指定区域内的元素累积值时只需常数时间复杂度 O(1),因为只需要访问四个预处理过的节点即可完成加减运算得出结果[^1]。 #### 应用场景分析 当涉及到像地图服务这样的应用场景时——特别是采用分层切片机制的地图系统(如微软 Bing 地图),这种技术能够显著提升性能效率: - **加速渲染过程**:利用二维前缀和可以在瞬间获取特定范围内的数据汇总信息,从而加快图像合成速度; - **简化碰撞检测逻辑**:游戏开发等领域经常需要用到对象间相互作用判断,借助此方法可迅速定位目标区间作出响应; - **优化路径规划算法**:无论是最短路还是其他形式的空间搜索问题,都能受益于高效的数据检索能力所带来的优势[^2]。 #### 实现案例展示 下面给出一段 Python 代码片段作为例子说明如何基于上述理论框架构建实际解决方案: ```python def build_prefix_sum(matrix): rows = len(matrix) cols = len(matrix[0]) if matrix else 0 prefix_sum = [[0]*(cols+1) for _ in range(rows+1)] for i in range(1,rows+1): for j in range(1,cols+1): prefix_sum[i][j]=matrix[i-1][j-1]+\ prefix_sum[i-1][j]+ \ prefix_sum[i][j-1]- \ prefix_sum[i-1][j-1] return prefix_sum def query_submatrix_sum(prefix_sum,x1,y1,x2,y2): """Query sum of elements within sub-matrix defined by top-left (x1,y1), bottom-right(x2,y2).""" return prefix_sum[x2+1][y2+1]-prefix_sum[x1][y2+1]-prefix_sum[x2+1][y1]+prefix_sum[x1][y1] # Example usage: input_matrix=[[3,0,1,4],[2,8,7,5],[4,6,9,1]] ps=build_prefix_sum(input_matrix) print(query_submatrix_sum(ps,1,1,2,2)) # Output should be 30 which is the sum inside this area. ```
评论 36
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

明明跟你说过

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值