kind & kubernetes 集群内如何通过 helm 部署定制化 Prometheus-Operator?

2023-10-29

1. Prometheus 简介

Prometheus 是由前 Google 工程师从 2012 年开始在 Soundcloud 以开源软件的形式进行研发的系统监控和告警工具包,自此以后,许多公司和组织都采用了 Prometheus 作为监控告警工具。Prometheus 的开发者和用户社区非常活跃,它现在是一个独立的开源项目,可以独立于任何公司进行维护。为了证明这一点,Prometheus 于 2016 年 5 月加入 CNCF 基金会,成为继 Kubernetes 之后的第二个 CNCF 托管项目。

2. Prometheus 优势

  • 由指标名称和和键/值对标签标识的时间序列数据组成的多维数据模型。
  • 强大的查询语言 PromQL。
  • 不依赖分布式存储;单个服务节点具有自治能力。
  • 时间序列数据是服务端通过 HTTP 协议主动拉取获得的。
  • 也可以通过中间网关来推送时间序列数据。
  • 可以通过静态配置文件或服务发现来获取监控目标。
  • 支持多种类型的图表和仪表盘

3. Prometheus 架构图

组件说明:

  • Prometheus Server: 用于收集和存储时间序列数据;
  • Client Library: 客户端库,为需要监控的服务生成相应的 metrics 并暴露给 Prometheus server;
  • PushGateway: pushgateway是采用被动推送来获取监控数据的 prometheus 插件,它可以单独运行在任何节点上,并不一定要运行在被监控的客户端。而后通过用户自定义编写的脚本把需要监控的数据发送给 pushgateway,pushgateway再将数据推送给prometheus server;
  • Exporters: 负责监控机器运行状态,提供被监控组件信息的 HTTP 接口被叫做 exporter;
  • Alertmanager: 从 Prometheus server 端接收到 alerts 后,会进行去除重复数据,分组,并路由到对收的接受方式,发出报警;
  • Grafana:一个监控仪表系统,它是由 Grafana Labs 公司开源的的一个系统监测工具,它可以大大帮助我们简化监控的复杂度,我们只需要提供需要监控的数据,它就可以帮助生成各种可视化仪表,同时它还有报警功能,可以在系统出现问题时发出通知。

4. Prometheus-Operator 简介

  • Kubernetes Operator 是由 CoreOS 公司开发的,用来扩展 Kubernetes API,特定的应用程序控制器,它用来创建、配置和管理复杂的有状态应用,如数据库、缓存和监控系统。Operator基于 Kubernetes 的资源和控制器概念之上构建,但同时又包含了应用程序特定的一些专业知识,比如创建一个数据库的Operator,则必须对创建的数据库的各种运维方式非常了解,创建Operator的关键是CRD(自定义资源)的设计。

  • Kubernetes CRD 是对 Kubernetes API 的扩展,Kubernetes 中的每个资源都是一个 API 对象的集合,例如我们在 YAML文件里定义的那些spec都是对 Kubernetes 中的资源对象的定义,所有的自定义资源可以跟 Kubernetes 中内建的资源一样使用 kubectl 操作。

  • Prometheus Operator 提供 Kubernetes 原生部署和管理Prometheus及相关监控组件。该项目的目的是为 Kubernetes 集群简化和自动化基于 Prometheus 的监控堆栈的配置。
    Prometheus Operator 特性:

    • Kubernetes 自定义资源:使用 Kubernetes 自定义资源部署和管理 Prometheus、Alertmanager 及相关组件。
    • 简化的部署配置:配置 Prometheus 的基础知识,例如版本、持久性、保留策略和本地 Kubernetes 资源的副本。
    • Prometheus Target Configuration:根据熟悉的Kubernetes标签查询,自动生成监控目标配置;无需学习普罗米修斯特定的配置语言。

5. Prometheus-Operator 架构图

这篇文章我将在kind部署的kubernets集群内通过 helm 工具安装定制化的 Prometheus-Operator

6. 环境准备

curl -Lo ./kind https://github.com/kubernetes-sigs/kind/releases/download/v0.17.0/kind-linux-amd64
chmod +x ./kind
mv ./kind /usr/local/bin/kind
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash

或者

$ wget https://get.helm.sh/helm-v3.11.0-linux-amd64.tar.gz
$ tar -xzvf helm-v3.11.0-linux-amd64.tar.gz
$ cp linux-amd64/helm /usr/local/bin/
$ helm version
version.BuildInfo{Version:"v3.11.0", GitCommit:"d14138609b01886f544b2025f5000351c9eb092e", GitTreeState:"clean", GoVersion:"go1.17.5"}

7. Kind 部署 Kubernetes

  • config.yaml
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
nodes:
- role: control-plane
  kubeadmConfigPatches:
  - |
    kind: InitConfiguration
    nodeRegistration:
      kubeletExtraArgs:
        node-labels: "ingress-ready=true"
  extraPortMappings:
  - containerPort: 80
    hostPort: 80
    protocol: TCP
  - containerPort: 443
    hostPort: 443
    protocol: TCP

创建 K8s 集群:

$ kind create cluster --config config.yaml
enabling experimental podman provider
Creating cluster "kind" ...
 ✓ Ensuring node image (kindest/node:v1.25.3) 									
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

kind & kubernetes 集群内如何通过 helm 部署定制化 Prometheus-Operator? 的相关文章

随机推荐

  • 前端面试知识点总结

    前端知识点 vue知识点 Vue的两个核心点 组件渲染更新的过程 Vue的MVVM实现流程 虚拟 DOM patch 方法 diff 算法 什么是patch patch的流程 说一下指令v el的作用是什么 nextTick 使用场景和原理
  • Java 5-3、用户模块-Mapper.xml的SQL整理

    5 3 用户模块 Mapper xml的SQL整理 一 SQL总结 三个 select SQL login findUserById findUserByAccount 一个 insert SQL register 一个 update SQ
  • vue3+vant4结合(vue-i18n)实现国际化语言切换

    1 先安装i18n npm install vue i18n 2 配置多语言文件 先进行国际化配置在src下创建一个lang文件夹并在其中创建index js zh js en js文件 若为TS 更改文件后缀即可 自定义语言格式 expo
  • 测试数据又多又乱?自动化软件测试数据管理平台Parasoft DTPv2021.1发布

    Parasoft DTP 汇总来自不同测试实践的结果 提供对测试结果的智能和持续监控 消除了与错误软件相关的业务风险 加快了交付速度 并促进了持续的流程改进 DTP 监控和测量质量实践的应用 例如静态分析 单元测试 覆盖分析 运行时错误检测
  • burpsuite插件自动识别图片验证码暴力破解

    burpsuite插件自动识别验证码暴力破解 1 准备工具 2 工具配置 2 1 burp导入captcha killer modified 0 14 jar 2 1 1 先生成jar包 2 1 2 再将jar包导入burp 2 2 kal
  • linux %s替换命令,linux vi 替换命令

    linux vi 替换命令 发布时间 2010 10 22 16 34 53 作者 佚名 我要评论 久了没用vi 命令都忘了 到网上找了些 记录下 以下内容出自网络 来源已经不详 vi vim 中可以使用 s 命令来替换字符串 以前只会使用
  • 高效程序员工作法(八)

    目录 前言 一 如何做好验收测试 一句话总结 二 你的代码是怎么变混乱的 一句话总结 三 总是在MVC分层架构 但你真的理解分层么 一句话总结 四 为什么总有人觉得5万块钱可以做一个淘宝 一句话总结 五 先做好DDD再谈微服务吧 那只是一种
  • CTFshow-pwn入门-前置基础pwn29-pwn31

    什么是PIE 由于ASLR是一种操作系统层面的技术 而二进制程序本身是不支持随机化加载的 便出现了一些绕过方法 例如ret2plt GOT劫持 地址爆破等 于是 人们于2003年引入了位置无关可执行文件 Position Independe
  • TMDS协议

    1 概述 1 1 连接结构 图1 TMDS连接结构 数据流中包含了像素和控制数据 发送器在任何给定的输入时钟周期 到底是编码像素数据还是控制数据取决于数据使能信号DE DE有效时 指示像素数据要被发送 注意 当发送像素数据的时候 忽略控制数
  • echarts中的饼状图设置颜色

    第一种方式 color FE8463 red green 第二种方式 itemStyle normal color function params 自定义颜色 var colorList FE8463 red green return co
  • windows2008服务器维护,Windows Server 2008R2 & windows server 2012 R2

    PAGE TITLEWindows Server 2008R2 windows server 2012 R2 windows服务器维护 86988 net contacts DESCRIPTIONMd5 file get DT ROOT l
  • C++中cout和cerr的区别

    标准IO库定义的其中3个IO对象 一个istream类型对象 cin 两个ostream对象 cout cerr cin 读取标准输入的istream对象 对应于标准输入流 关联到标准输入设备 通常为键盘 用来读取用户在终端上的输入内容 通
  • 2021-03-26

    爬虫笔记1 爬虫基础 1 爬虫的特点介绍 1 知识点碎片化 面对不同的网站 每个网站都有每个网站的特点 根据不同网站采取不同的技术和手段 2 学习难度在于要与网站的运维人员和维护人员进行搏斗 网站的网爬是不断升级 3 学习特点 爬虫的阶段课
  • 网络编程02

    网络通信 底层遵循TCP IP协议 在系统中以socket接口方式呈现 基于TCP协议的网络通信模型 服务端 客户端 创建socket对象 创建socket对象 准备通信地址 本机ip 端口号 准备通信地址 目标公网ip 端口号 绑定soc
  • UOS桌面版配置远程访问

    UOS桌面版配置远程访问 一 SSH SFTP 二 VNC 三 x11vnc service 一 SSH SFTP 安装SSH sudo apt update sudo apt install ssh 开启SFTP vi etc ssh s
  • 单次交换找字典序最小字符串

    题目要求 给一个字符串s 你可以至多选择两个不同位置的字符进行交换 可以不交换 问所有可能中字典序最小的串 输入 aaazbcdeadcd 输出 aaaabcdezdcd 题目解析 字典序最小 即与当前字符串相比最小的字符串 那么只需要找到
  • 【数据压缩】Exp01.彩色空间转换——YUV2RGB

    一 基本原理 这次的实验是将yuv格式的图像转换为rgb格式 两种彩色空间互相转换的公式如下 1 RGB转YUV Y 0 2990 R 0 5870 G 0 1140 B U 0 1684 R 0 3316 G 0 5 B V 0 5 R
  • css复习中常见的问题

    1 如果想让图片位于文字之后显示 即文字占前边 如下代码所示 img src dog jpg alt p 保护动物 人人有责 p 注意 由于在上述例子img标签元素设置了z index属性 即显示元素相对应的优先级 值 1即表示优先级滞后一
  • 虚拟机服务器的好处,vmware虚拟机的作用

    虚拟机不仅仅应用于学习与实验中 还可以直接应用于现实 使用VMware GSX Server或VMware ESX Server Microsoft Virtual Server 可以在一台高性能的服务器上同时运行多台虚拟机服务器 每台虚拟
  • kind & kubernetes 集群内如何通过 helm 部署定制化 Prometheus-Operator?

    文章目录 1 Prometheus 简介 2 Prometheus 优势 3 Prometheus 架构图 4 Prometheus Operator 简介 5 Prometheus Operator 架构图 6 环境准备 7 Kind 部
Powered by Hwhale