How to helm install prometheus 【 helm 安装 prometheus 】

news2024/11/27 5:43:39

文章目录

    • 1. 简介
    • 2. 简单部署
    • 3. 数据持久化部署
      • 3.1 设置必要的环境变量
      • 3.2 运行安装脚本
      • 3.3 查看

1. 简介

kube-prometheus-stack是一个基于Prometheus和Grafana的开源软件套件,用于在Kubernetes集群中进行监控和可视化。它提供了一套完整的工具和组件,用于收集、存储、查询和展示监控指标数据。

组件:
kube-prometheus-stack由多个关键组件组成,包括:

  • Prometheus Operator:用于在Kubernetes上部署和管理Prometheus实例的控制器。
  • Alertmanager:用于管理和处理Prometheus生成的告警通知。
  • Prometheus:一个开源的监控系统,用于收集和存储时间序列数据。
  • Grafana:一个功能强大的数据可视化和仪表板工具,用于展示监控指标和创建仪表板。
  • kube-state-metrics:用于从Kubernetes API中导出集群状态指标的工具。
  • node-exporter:用于收集主机级别的指标数据。
  • Kubelet、kube-proxy和cAdvisor等其他组件,用于收集和导出Kubernetes集群的相关指标。

特性和功能:
kube-prometheus-stack具有以下特性和功能:

  • 快速部署和配置Prometheus和Grafana,无需手动编写复杂的配置文件。
  • 自动化的Prometheus实例管理和自动发现服务和Pod。
  • 提供预定义的Prometheus规则和警报,用于监控常见的Kubernetes和系统指标。
  • 支持水平扩展和高可用性,以满足大规模集群的监控需求。
  • 提供丰富的数据可视化和仪表板功能,通过Grafana创建和共享自定义仪表板。
  • 支持告警通知和集成到外部通知系统,如Slack、PagerDuty等。
  • 提供强大的查询语言和灵活的数据处理能力,以便进行高级监控和分析。

总之,kube-prometheus-stack为Kubernetes集群提供了一个强大而灵活的监控解决方案,使您能够方便地监控、分析和可视化集群的健康状态和性能指标。

2. 简单部署

helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm upgrade prometheus prometheus-community/kube-prometheus-stack --version 55.0.0 --debug --namespace prometheus --create-namespace --install --timeout 600s --wait

查看

$ kubectl get crd |grep -i monitor
alertmanagerconfigs.monitoring.coreos.com                  2023-03-01T07:02:27Z
alertmanagers.monitoring.coreos.com                        2023-03-01T07:02:27Z
podmonitors.monitoring.coreos.com                          2023-03-01T07:02:27Z
probes.monitoring.coreos.com                               2023-03-01T07:02:27Z
prometheusagents.monitoring.coreos.com                     2023-12-08T02:56:31Z
prometheuses.monitoring.coreos.com                         2023-12-08T02:56:31Z
prometheusrules.monitoring.coreos.com                      2023-12-08T02:56:31Z
scrapeconfigs.monitoring.coreos.com                        2023-12-08T02:13:50Z
servicemonitors.monitoring.coreos.com                      2023-03-01T07:02:27Z
thanosrulers.monitoring.coreos.com                         2023-03-01T07:02:27Z

3. 数据持久化部署

确保数据持久存储,通过 OpenEBS LocalPV 实现:How to helm install OpenEBS LocalPV

3.1 设置必要的环境变量

  • PROM_STORAGECLASS_NAME:指定Storageclass名称, 使用 kubectl get storageclasses 获取可用的 Storageclass 名称。

  • PROM_PVC_SIZE_G:指定持久化卷的大小,单位为Gi。

  • PROM_NODE_NAMES:指定安装Prometheus pod的节点名称,节点名称可以使用","作为分隔符,表示多个节点名称,安装程序会对节点进行label固定安装节点。

export PROM_STORAGECLASS_NAME="openebs-lvmsc-hdd"
export PROM_PVC_SIZE_G="20"
export PROM_NODE_NAMES="kube-node01,kube-node02,kube-node03"

3.2 运行安装脚本

注意⚠️:如果找不到 Helm3,将自动安装。
注意⚠️:安装脚本会对指定节点进行添加label的操作。

curl -sSL https://raw.githubusercontent.com/upmio/upm-deploy/main/addons/prometheus/install_el7.sh | sh -

等几分钟。 如果所有 prometheus pod 都在运行,则 prometheus 将成功安装。

3.3 查看

$ kubectl get pod -n prometheus
NAME                                                     READY   STATUS    RESTARTS   AGE
alertmanager-prometheus-kube-prometheus-alertmanager-0   2/2     Running   0          5m51s
prometheus-grafana-8df95c687-rdlng                       3/3     Running   0          6m32s
prometheus-kube-prometheus-operator-f8d88b6bb-jh4tg      1/1     Running   0          6m32s
prometheus-kube-state-metrics-84846764b9-smg97           1/1     Running   0          6m32s
prometheus-prometheus-kube-prometheus-prometheus-0       2/2     Running   0          5m50s
prometheus-prometheus-node-exporter-4lgvk                1/1     Running   0          6m32s
prometheus-prometheus-node-exporter-4z6n9                1/1     Running   0          6m32s
prometheus-prometheus-node-exporter-57s9z                1/1     Running   0          6m32s
prometheus-prometheus-node-exporter-gtfkf                1/1     Running   0          6m32s
prometheus-prometheus-node-exporter-txzxs                1/1     Running   0          6m32s
prometheus-prometheus-node-exporter-w47rm                1/1     Running   0          6m32s
prometheus-prometheus-node-exporter-x95dk                1/1     Running   0          6m32s


#查看所依赖的镜像
$ kubectl get pod -n prometheus -oyaml |grep 'image:' | sort | uniq
      image: docker.io/dbscale/kube-state-metrics:v2.9.2
      image: docker.io/grafana/grafana:10.2.2
      image: quay.io/kiwigrid/k8s-sidecar:1.25.2
      image: quay.io/prometheus-operator/prometheus-config-reloader:v0.70.0
      image: quay.io/prometheus-operator/prometheus-operator:v0.70.0
      image: quay.io/prometheus/alertmanager:v0.26.0
      image: quay.io/prometheus/node-exporter:v1.7.0
      image: quay.io/prometheus/prometheus:v2.48.1

#查看 svc
$ kubectl  get svc -n prometheus
NAME                                      TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)                      AGE
alertmanager-operated                     ClusterIP   None            <none>        9093/TCP,9094/TCP,9094/UDP   7m47s
prometheus-grafana                        ClusterIP   10.233.48.28    <none>        80/TCP                       8m27s
prometheus-kube-prometheus-alertmanager   ClusterIP   10.233.21.53    <none>        9093/TCP,8080/TCP            8m27s
prometheus-kube-prometheus-operator       ClusterIP   10.233.54.20    <none>        443/TCP                      8m27s
prometheus-kube-prometheus-prometheus     ClusterIP   10.233.20.146   <none>        9090/TCP,8080/TCP            8m27s
prometheus-kube-state-metrics             ClusterIP   10.233.30.192   <none>        8080/TCP                     8m27s
prometheus-operated                       ClusterIP   None            <none>        9090/TCP                     7m45s
prometheus-prometheus-node-exporter       ClusterIP   10.233.50.226   <none>        9100/TCP                     8m27s

#查询crd
$  kubectl get crd |grep monitor
alertmanagerconfigs.monitoring.coreos.com             2023-12-17T16:21:04Z
alertmanagers.monitoring.coreos.com                   2023-12-17T16:21:05Z
podmonitors.monitoring.coreos.com                     2023-12-17T16:21:05Z
probes.monitoring.coreos.com                          2023-12-17T16:21:05Z
prometheusagents.monitoring.coreos.com                2023-12-17T16:21:06Z
prometheuses.monitoring.coreos.com                    2023-12-17T16:21:06Z
prometheusrules.monitoring.coreos.com                 2023-12-17T16:21:07Z
scrapeconfigs.monitoring.coreos.com                   2023-12-17T16:21:07Z
servicemonitors.monitoring.coreos.com                 2023-12-17T16:21:07Z
thanosrulers.monitoring.coreos.com                    2023-12-17T16:21:07Z

查看存储是否自动分配卷

$ kubectl get pv
NAME                                       CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS      CLAIM                                                                                                               STORAGECLASS        REASON   AGE
pvc-6a000349-b47d-47bf-a80f-7e9b825db4cb   20Gi       RWO            Delete           Bound       prometheus/prometheus-prometheus-kube-prometheus-prometheus-db-prometheus-prometheus-kube-prometheus-prometheus-0   openebs-lvmsc-hdd            16m
task-pv-volume                             10Gi       RWO            Retain           Available                                                                                                                       manual                       144d

$ kubectl get pvc -n prometheus
NAME                                                                                                     STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS        AGE
prometheus-prometheus-kube-prometheus-prometheus-db-prometheus-prometheus-kube-prometheus-prometheus-0   Bound    pvc-6a000349-b47d-47bf-a80f-7e9b825db4cb   20Gi       RWO            openebs-lvmsc-hdd   16m

参考:

  • https://prometheus.io/
  • https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack
  • Kind & Kubernetes | 通过 Helm 部署定制化 Prometheus-Operator 上传 Dockerhub?
  • https://docs.youdianzhishi.com/prometheus/
  • promethues 云原生手册

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python Django 连接 PostgreSQL 操作实例

更多Python学习内容&#xff1a;ipengtao.com 大家好&#xff0c;我是彭涛&#xff0c;今天为大家分享 Python Django 连接 PostgreSQL 操作实例&#xff0c;全文3500字&#xff0c;阅读大约10分钟 在Web开发中&#xff0c;使用Django连接到PostgreSQL数据库是一种常见的选择。…

如何从 iPhone 上恢复已删除的照片教程分享

您是否错误地删除了 iPhone 上的错误照片&#xff1f;或者您可能已将手机恢复出厂设置&#xff0c;但现在所有照片都消失了&#xff1f;如果您现在遇到这样的情况&#xff0c;我们可以为您提供解决方案。 在本文中&#xff0c;我们将向您展示七种数据恢复方法&#xff0c;可以…

饥荒Mod 开发(十四):制作屏幕弹窗

饥荒Mod 开发(十三)&#xff1a;木牌传送 在上一个文章里面制作了一个传送选择页面&#xff0c;是一个全屏的窗口&#xff0c;那饥荒中如何制作一个全屏的窗口&#xff0c;下面介绍一下如何从零开始制作一个全屏窗口 制作屏幕窗口 饥荒中的全屏窗口都有一个基类 “Screen”,我…

使用Nginx实现负载均衡的实践指南

目录 前言1 负载均衡简介2 需要实现的效果3 准备2个tomcat服务器4 配置Nginx实现负载均衡5 Nginx的服务器策略5.1 轮询&#xff08;默认&#xff09;5.2 权重&#xff08;weight&#xff09;5.3 IP哈希&#xff08;ip_hash&#xff09;5.4 响应时间公平分配&#xff08;fair&am…

论文阅读:Learning sRGB-to-Raw-RGB De-rendering with Content-Aware Metadata

论文阅读&#xff1a;Learning sRGB-to-Raw-RGB De-rendering with Content-Aware Metadata Abstract 大多数的 Camera ISP 会将 RAW 图经过一系列的处理&#xff0c;变成 sRGB 图像&#xff0c;ISP 的处理中很多模块是非线性的操作&#xff0c;这些操作会破坏环境光照的线性…

【深度强化学习】TRPO、PPO

策略梯度的缺点 步长难以确定&#xff0c;一旦步长选的不好&#xff0c;就导致恶性循环 步长不合适 → 策略变差 → 采集的数据变差 → &#xff08;回报 / 梯度导致的&#xff09;步长不合适 步长不合适 \to 策略变差 \to 采集的数据变差 \to &#xff08;回报/梯度导致的&am…

【Unity】简单实现生成式电子围栏

【Unity】简单实现生成式电子围栏 三维电子围栏是一种通过使用三维技术和电子设备来建立虚拟围栏&#xff0c;用于监控和控制特定区域的系统。它可以通过使用传感器和摄像头来检测任何越界行为&#xff0c;并及时发出警报。这种技术可以应用于安防领域以及其他需要对特定区域进…

C#实现MQTT over WebSocket

如何在网页端实现MQTT消息的发布和订阅&#xff1f; 实现MQTT功能&#xff0c;可以发布和订阅主题通过WebSocket协议将MQTT消息转发给对应的网页端 带着这个实现思路&#xff0c;采用C#控制台程序实现MQTT服务端功能&#xff0c;web端可以直接使用websocket插件与服务端双向通…

在金属/绝缘体/p-GaN栅极高电子迁移率晶体管中同时实现大的栅压摆幅和增强的阈值电压稳定性

标题&#xff1a;Simultaneously Achieving Large Gate Swing and Enhanced Threshold Voltage Stability in Metal/Insulator/p-GaN Gate HEMT (IEDM2023) 摘要 摘要&#xff1a;对于增强型GaN功率晶体管的发展&#xff0c;栅压摆幅和阈值电压稳定性通常是互相排斥的。本文展…

Web前端-HTML(简介)

文章目录 1. HTML1.1概述1.2 HTML骨架标签1.3 HTML元素标签及分类1.4 HTML标签关系 2. 代码开发工具&#xff08;书写代码&#xff09;3. 文档类型<!DOCTYPE>4. 页面语言lang5. 字符集 1. HTML 1.1概述 HTML 指的是超文本标记语言 (Hyper Text Markup Language)&#x…

串口通信(6)-C#串口通信Modbus协议完整实例

本文讲解C#基于ModbusRTU协议串口通信完整实例。 前言 关于modbus的协议从上一篇中有介绍,本篇不在阐述。 串口通信(5)-C#串口通信数据接收不完整解决方案 创建实例 添加控件和事件等 参考界面文件 namespace ModbusRTUDemo {partial class MainForm{/// <summary>…

踩坑记录:java连接ssh的问题

目录 概述一、第一个问题解决 二、第二个问题分析解决 三、第三个问题分析解决 第四个问题解决 概述 手里有个CS架构的老系统&#xff0c;服务端要用SSH的方式传文件。没想到写了两天&#xff01;遇到一堆问题&#xff0c;于是记录下。&#xff08;老系统真恶心啊&#xff01;…

msvcp140.dll丢失怎样修复?全面分析msvcp140.dll的修复方法

在执行特定程序时&#xff0c;有可能遭遇msvcp140.dll文件遗失的困扰&#xff0c;此时该如何处理呢&#xff1f;此次将为您讲述面临此类问题的有效解决方案&#xff0c;涉及到多种修复方法&#xff0c;其中包括利用DLL修复工具进行操作。您可依据个人需求选择相应的修复方式&am…

学习Java第70天,过滤器Filter简介

过滤器概述 Filter,即过滤器,是JAVAEE技术规范之一,作用目标资源的请求进行过滤的一套技术规范,是Java Web项目中最为实用的技术之一 Filter接口定义了过滤器的开发规范,所有的过滤器都要实现该接口 Filter的工作位置是项目中所有目标资源之前,容器在创建HttpServletRequest和…

用GitBook制作自己的网页版电子书

用GitBook制作自己的网页版电子书 前言 几年前阅读过其他人用GitBook创建的文档&#xff0c;可以直接在浏览器中打开&#xff0c;页面干净整洁&#xff0c;非常清爽&#xff0c;至今印象深刻。 GitBook非常适合用来为个人或团队制作文档&#xff0c;对于我这种偶尔写博客的人…

Vue 实现一个弹出框,允许用户输入信息,并在确认时将输入的信息进行输出到控制台

父组件用来点击按钮弹出弹出框 <!--ParentComponent.vue--> <template><div><button click"showPopupV">点我会有个弹出框&#xff01;&#xff01;&#xff01;</button><PopupComponent v-if"showPopup" :data"p…

java-sec-code中重定向

重定向 状态码3xx 存在问题的代码段 GetMapping("/redirect") public String redirect(RequestParam("url") String url) {return "redirect:" url; }用户访问/redirect路径时&#xff0c;redirect方法会获取web请求中的url参数内容&#xff0…

leetcode算法题:省份数量

leetcode算法题547 链接&#xff1a;https://leetcode.cn/problems/number-of-provinces 题目 有 n 个城市&#xff0c;其中一些彼此相连&#xff0c;另一些没有相连。如果城市 a 与城市 b 直接相连&#xff0c;且城市 b 与城市 c 直接相连&#xff0c;那么城市 a 与城市 c 间…

EasyExcel 简单导入

前边写过使用easyexcel进行简单、多sheet页的导出。今天周日利用空闲写一下对应简单的导入。 重点&#xff1a;springboot、easyExcel、桥接模式&#xff1b; 说明&#xff1a;本次使用实体类student&#xff1a;属性看前边章节内容&#xff1b; 1、公共导入service public …

yarn历史日志_配置文件

yarn历史日志yarn配置文件yarn执行任务 1.3. YARN的历史日志 1.3.1. 历史日志概述 我们在YARN运行MapReduce的程序的时候&#xff0c;任务会被分发到不同的节点&#xff0c;在不同的Container内去执行。如果一个程序执行结束后&#xff0c;我们想去查看这个程序的运行状态呢…