当前位置: 首页 > news >正文

Kubernetes集群监控,kube-prometheus安装教程,一键部署

Kube-prometheus介绍

Kube-prometheus 是一个用于监控 Kubernetes 集群的完整解决方案。它基于 Prometheus 生态系统,提供了一整套预配置的组件和配置文件,以便轻松地在 Kubernetes 上部署和运行 Prometheus 监控系统。

Kube-prometheus 主要包括以下组件:

Prometheus Operator:简化了 Prometheus 的部署和管理。它通过 Kubernetes CRD(自定义资源定义)来管理 Prometheus 实例和 Alertmanager 实例。

Prometheus:一个开源的系统监控和报警工具。它通过拉取方式收集时序数据,并提供一个灵活的查询语言(PromQL)来分析数据。

Alertmanager:处理来自 Prometheus 的警报,可以对警报进行分组、路由和通知。

Grafana:一个开源的分析平台,用于可视化数据,支持多种数据源。它可以用来创建和分享仪表板(Dashboards)。

Node Exporter:一个收集主机硬件和操作系统指标的工具。

Kube-state-metrics:从 Kubernetes API 服务器收集集群状态数据的工具。

Prometheus Adapter:将 Prometheus 的自定义指标暴露给 Kubernetes 的 Horizontal Pod Autoscaler (HPA) 使用。

Kube-prometheus 的主要特点和优势包括:

  • 预配置:提供了一整套预先配置好的 Prometheus、Alertmanager 和 Grafana 的配置文件,开箱即用。
  • 集成性强:所有组件都紧密集成,可以方便地一起使用。
  • 可扩展性:基于 Kubernetes 的部署方式,使得监控系统能够方便地扩展和升级。
  • 社区支持:作为一个被广泛使用的项目,有着良好的社区支持和文档。

要使用 Kube-prometheus,通常通过 Helm Chart 或者直接使用项目中的 Kubernetes 清单文件来部署。部署完成后,你可以访问 Grafana 来查看集群的监控指标和预定义的仪表板,同时通过 Prometheus 和 Alertmanager 来管理和处理监控数据和警报。

Kube-prometheus安装部署

拉取镜像

git clone https://mirror.ghproxy.com/https://github.com/prometheus-operator/kube-prometheus.git

将目录更改为清单 manifests

cd kube-prometheus/manifests

修改Grafana服务YAML

修改为NodePort类型,集群外可以访问

sed -i "/ports:/i \ \ type: NodePort" grafana-service.yaml
#下面这个也可以不执行,自动生成随机的端口
sed -i "/targetPort: http/i \ \ \ \ nodePort: 31100" grafana-service.yaml

修改Prometheus服务YAML

修改为NodePort类型,集群外可以访问

sed -i "/ports:/i \ \ type: NodePort" prometheus-service.yaml
#下面这个也可以不执行,自动生成随机的端口
sed -i "/targetPort: web/i \ \ \ \ nodePort: 31101" prometheus-service.yaml

安装CRD

kubectl create -f setup/

安装prometheus, alertmanager, grafana, kube-state-metrics, node-exporter等资源

kubectl apply -f .

安装成功,查看pod,svc

kubectl get pod,svc -n monitoring -o wide
NAME                                      READY   STATUS    RESTARTS       AGE     IP              NODE     NOMINATED NODE   READINESS GATES
pod/alertmanager-main-0                   2/2     Running   6 (18m ago)    4d16h   10.244.1.183    slave1   <none>           <none>
pod/alertmanager-main-1                   2/2     Running   6 (18m ago)    4d16h   10.244.1.176    slave1   <none>           <none>
pod/alertmanager-main-2                   2/2     Running   6 (18m ago)    4d16h   10.244.1.173    slave1   <none>           <none>
pod/blackbox-exporter-6fc96d64db-687gh    3/3     Running   9 (18m ago)    4d17h   10.244.1.165    slave1   <none>           <none>
pod/grafana-85c87f8769-xqlq5              1/1     Running   3 (18m ago)    4d17h   10.244.1.166    slave1   <none>           <none>
pod/kube-state-metrics-6d79c8794-tpbtr    3/3     Running   9 (18m ago)    4d17h   10.244.1.164    slave1   <none>           <none>
pod/node-exporter-2dz4d                   2/2     Running   14 (18m ago)   7d19h   192.168.10.22   slave1   <none>           <none>
pod/node-exporter-rqplj                   2/2     Running   10 (18m ago)   7d19h   192.168.10.21   main     <none>           <none>
pod/prometheus-adapter-9f76d56cc-47qgh    1/1     Running   5 (18m ago)    4d17h   10.244.1.170    slave1   <none>           <none>
pod/prometheus-adapter-9f76d56cc-zt64q    1/1     Running   5 (18m ago)    4d17h   10.244.1.179    slave1   <none>           <none>
pod/prometheus-k8s-0                      2/2     Running   7 (18m ago)    4d16h   10.244.1.175    slave1   <none>           <none>
pod/prometheus-k8s-1                      2/2     Running   7 (18m ago)    4d16h   10.244.1.181    slave1   <none>           <none>
pod/prometheus-operator-84978f59d-jf5cn   2/2     Running   6 (18m ago)    4d17h   10.244.1.169    slave1   <none>           <none>NAME                            TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)                         AGE     SELECTOR
service/alertmanager-main       ClusterIP   10.100.61.145   <none>        9093/TCP,8080/TCP               7d19h   app.kubernetes.io/component=alert-router,app.kubernetes.io/instance=main,app.kubernetes.io/name=alertmanager,app.kubernetes.io/part-of=kube-prometheus
service/alertmanager-operated   ClusterIP   None            <none>        9093/TCP,9094/TCP,9094/UDP      7d19h   app.kubernetes.io/name=alertmanager
service/blackbox-exporter       ClusterIP   10.107.213.75   <none>        9115/TCP,19115/TCP              7d19h   app.kubernetes.io/component=exporter,app.kubernetes.io/name=blackbox-exporter,app.kubernetes.io/part-of=kube-prometheus
service/grafana                 NodePort    10.102.185.87   <none>        3000:31100/TCP                  7d19h   app.kubernetes.io/component=grafana,app.kubernetes.io/name=grafana,app.kubernetes.io/part-of=kube-prometheus
service/kube-state-metrics      ClusterIP   None            <none>        8443/TCP,9443/TCP               7d19h   app.kubernetes.io/component=exporter,app.kubernetes.io/name=kube-state-metrics,app.kubernetes.io/part-of=kube-prometheus
service/node-exporter           ClusterIP   None            <none>        9100/TCP                        7d19h   app.kubernetes.io/component=exporter,app.kubernetes.io/name=node-exporter,app.kubernetes.io/part-of=kube-prometheus
service/prometheus-adapter      ClusterIP   10.101.25.109   <none>        443/TCP                         7d19h   app.kubernetes.io/component=metrics-adapter,app.kubernetes.io/name=prometheus-adapter,app.kubernetes.io/part-of=kube-prometheus
service/prometheus-k8s          NodePort    10.107.214.35   <none>        9090:31101/TCP,8080:30323/TCP   7d19h   app.kubernetes.io/component=prometheus,app.kubernetes.io/instance=k8s,app.kubernetes.io/name=prometheus,app.kubernetes.io/part-of=kube-prometheus
service/prometheus-operated     ClusterIP   None            <none>        9090/TCP                        4d18h   app.kubernetes.io/name=prometheus
service/prometheus-operator     ClusterIP   None            <none>        8443/TCP                        7d19h   app.kubernetes.io/component=controller,app.kubernetes.io/name=prometheus-operator,app.kubernetes.io/part-of=kube-prometheus

访问

prometheus-k8s在slave1上面,用slave1的ip加prometheus-k8s的端口http://192.168.10.21:31101/访问

grafana也在slave1上面,用slave1的ip加grafana的端口http://192.168.10.21:31100/访问 ,默认账户密码:admin:admin

一键部署shell脚本

#!/bin/bash# Clone the repository
git clone https://mirror.ghproxy.com/https://github.com/prometheus-operator/kube-prometheus.git# Change directory to manifests
cd kube-prometheus/manifests# Prompt the user to enter Grafana NodePort
echo "Enter the Grafana NodePort (default is 31100):"
read grafana_nodeport
grafana_nodeport=${grafana_nodeport:-31100}  # Default to 31100 if user doesn't provide any input# Modify Grafana service YAML
sed -i "/ports:/i \ \ type: NodePort" grafana-service.yaml
sed -i "/targetPort: http/i \ \ \ \ nodePort: $grafana_nodeport" grafana-service.yaml# Prompt the user to enter Prometheus NodePort
echo "Enter the Prometheus NodePort (default is 31101):"
read prometheus_nodeport
prometheus_nodeport=${prometheus_nodeport:-31101}  # Default to 31101 if user doesn't provide any input# Modify Prometheus service YAML
sed -i "/ports:/i \ \ type: NodePort" prometheus-service.yaml
sed -i "/targetPort: web/i \ \ \ \ nodePort: $prometheus_nodeport" prometheus-service.yamlkubectl create -f setup/kubectl wait \--for condition=Established \--all CustomResourceDefinition \--namespace=monitoring# Apply the Kubernetes manifests
kubectl apply -f .

相关文章:

Kubernetes集群监控,kube-prometheus安装教程,一键部署

Kube-prometheus介绍 Kube-prometheus 是一个用于监控 Kubernetes 集群的完整解决方案。它基于 Prometheus 生态系统&#xff0c;提供了一整套预配置的组件和配置文件&#xff0c;以便轻松地在 Kubernetes 上部署和运行 Prometheus 监控系统。 Kube-prometheus 主要包括以下组…...

【Gradio】快速入门

https://www.gradio.app/ Gradio 是一个开源 Python 软件包https://github.com/gradio-app/gradio &#xff0c;可以让你快速为机器学习模型、API 或任何任意 Python 函数创建一个演示或网络应用程序。然后&#xff0c;您就可以使用 Gradio 内置的分享功能&#xff0c;在几秒钟…...

深度学习Day-19:DenseNet算法实战与解析

&#x1f368; 本文为&#xff1a;[&#x1f517;365天深度学习训练营] 中的学习记录博客 &#x1f356; 原作者&#xff1a;[K同学啊 | 接辅导、项目定制] 要求&#xff1a; 根据 Pytorch 代码&#xff0c;编写出 TensorFlow 代码研究 DenseNet 与 ResNetV 的区别改进思路是…...

基于openssl实现AES ECB加解密

AES加密&#xff0c;全称高级加密标准&#xff08;Advanced Encryption Standard&#xff09;&#xff0c;是一种广泛使用的对称加密算法&#xff0c;用于保护电子数据的安全。以下是AES加密的基本原理和特点&#xff1a; 基本概念 对称加密&#xff1a;AES是一种对称加密算法…...

Git:从配置到合并冲突

目录 1.前言 2.Git的下载与初始化配置 3.Git中新建仓库 4.Git的工作区域和文件状态 5.Git中查看操作和提交记录 6.Git中添加和提交文件 7.Git中回退提交版本 8.Git中查看版本间的差异 9.Git中删除文件 10.Git中忽略指定文件 11.Git中配置SSH密钥 12.Git中关联克隆仓库 13.Git中…...

leetcode hot100 之 最长公共子序列

题目 给定两个字符串 text1 和 text2&#xff0c;返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 &#xff0c;返回 0 。 一个字符串的 子序列 是指这样一个新的字符串&#xff1a;它是由原字符串在不改变字符的相对顺序的情况下删除某些字符&#xff08;…...

短剧APP开发,新的“财富”

在数字化时代&#xff0c;开发短剧APP不仅是顺应潮流的必然选择&#xff0c;更是抓住市场机遇的关键所在。为确保短剧APP能有效地吸引并留住用户&#xff0c;以下是一些主要功能及其介绍&#xff1a; 1、短剧搜索 关键词搜索&#xff1a;用户可以通过输入关键词&#xff08;如…...

Uniapp与第三方应用数据通讯

首先说明一点&#xff0c;这个只是uniapp代码编写的应用之间相互传递数据&#xff0c;uniapp编写的与其他语言编写的我尚不知道能不能传递。 应用1&#xff1a; plus.runtime.launchApplication({pname: "应用的appid",// extra 中可以自定数据&#xff0c;url和da…...

AI大模型战场:通用大模型与垂直大模型的角逐

随着人工智能技术的迅猛发展&#xff0c;AI大模型已成为推动科技进步的重要力量。然而&#xff0c;在AI大模型的战场上&#xff0c;通用大模型与垂直大模型之间的分化日益明显。两者各有其独特的优势和潜力&#xff0c;在不同的应用场景中发挥着重要作用。那么&#xff0c;在这…...

linux的一些知识点分享-------关于操作维护的一些知识点

Apache服务器的监听端口,默认为() Apache服务器的监听端口&#xff0c;默认为80。 vsftpd中,可以不需提供账号密码就能进行访问的用户是( ) 在vsftpd&#xff08;Very Secure FTP Daemon&#xff09;中&#xff0c;可以不需要提供账号密码就能进行访问的用户通常是匿名用户。…...

Python使用tkinter库设置背景图片、label显示位置和label设置显示图片

tkinter 设置背景图片 label显示位置 label设置显示图片 from tkinter import * import tkinter as tk from PIL import ImageTk from PIL import Imagedef get_img(filename, width, height):im Image.open(filename).resize((width, height))im ImageTk.PhotoImage(im)…...

OpenStack是什么?

OpenStack是一个开源的云计算管理平台项目&#xff0c;它是一系列软件开源项目的组合。该项目由美国国家航空航天局&#xff08;NASA&#xff09;和Rackspace合作研发并发起&#xff0c;旨在提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。OpenStack不仅是一个软…...

2024下《系统规划与管理师》50个高频考点汇总!背就有效

2024上半年软考考试已经结束&#xff0c;有不少小伙伴已经开始准备下半年软考了&#xff0c;但是大家要注意&#xff1a;今年高项仅考上半年一次&#xff0c;下半年考的高级科目只有系规难度相对较低&#xff0c;系规需要学习的内容比高项少很多&#xff0c;高项第四版教程731页…...

软件游戏提示msvcp140.dll丢失的原因分析及解决方法

在计算机使用过程中&#xff0c;我们经常会遇到一些错误提示&#xff0c;其中之一就是“计算机缺失msvcp140.dll”。那么&#xff0c;这个错误是什么意思呢&#xff1f;它会造成哪些问题&#xff1f;小编将从以下几个方面进行详细解析。 一&#xff0c;了解msvcp140.dll是什么 …...

备战 清华大学 上机编程考试-冲刺前50%,倒数第3天

T1:水滴 - 模拟 这是一个经典的游戏。 在一个 &#x1d45b;&#x1d45a; 的棋盘上&#xff0c;每一个格子中都有一些水滴。 玩家的操作是&#xff0c;在一个格子中加一滴水。 当一个格子中的水滴数超过了 4&#xff0c;这一大滴水就会因格子承载不住而向外扩散。扩散的规…...

docker的安装及docker常用命令

目录 环境介绍docker卸载docker安装docker镜像命令查看docker可用的镜像查看docker可安装的镜像安装镜像删除镜像 docker容器命令查看容器启动容器启动示例进入容器内部停止容器删除容器容器和主机之间的文件复制 docker网络命令创建docker网络查看docker网络删除docker网络 do…...

Dell服务器根据GPU温度调整风扇转速

前言 dell服务器自动风扇是根据CPU温度来调速的&#xff0c;我跑AI的时候cpu温度不高但是GPU温度很高导致显卡卡死PVE虚拟机直接挂起无法运行&#xff0c;我看了下也没有基于显卡温度调速的脚本&#xff0c;于是我就自己写了一个 基于ipmi工具 乌班图等linux先安装ipmi apt …...

快捷键专栏 IDEA、Navicat、电脑、Excle、Word等

标题 电脑篇windowsR 配合以下常用命令连上公司网线WiFi速度变慢问题解决Windows10 设置鼠标右键在此处打开cmd和Powershell窗口、关机打开电脑诊断工具系统设置常用设置查看电脑出场日期 systeminfo删除文件显示已在另一个程序打开&#xff1f;找回回收站删除的文件WindowsR输…...

卸载MySQL5.0,安装MySQL8.0

卸载MySQL 1、以管理员身份运行cmd,删除MySQL服务 2、卸载MySQL 3、删除残余文件 4、清楚注册表 winR -> regedit 5、删除环境变量 安装MySQL步骤 官方下载地址 https://www.mysql.com/downloads/ 以上步骤即完成MySQL数据库安装。...

苹果WWDC重磅发布的IOS 18、Apple Intelligence背后的技术分析!

2024年6月10日&#xff0c;在2024年WWDC全球开发者大会上&#xff0c;苹果推出了Apple Intelligence&#xff0c;这是深度集成到iOS 18、iPadOS 18和macOS Sequoia中的个人智能系统。 为了让大模型能在 iPhone 端侧跑&#xff0c;苹果还是做了很多事情的。接下来就跟大家介绍一…...

WinHex实战:从磁盘底层到数据恢复的完整指南

1. WinHex入门&#xff1a;认识这款数据恢复利器 第一次接触WinHex时&#xff0c;我被它黑底绿字的界面震撼到了——这简直就是黑客电影里的标配工具&#xff01;作为X-Ways公司开发的专业十六进制编辑器&#xff0c;WinHex远不止是个简单的磁盘查看器。记得有次同事误删了重要…...

AI编程助手配置统一管理:code-agnostic实现多编辑器配置同步

1. 项目概述&#xff1a;告别配置碎片化&#xff0c;一个中心管理所有AI编辑器如果你和我一样&#xff0c;同时在使用Cursor、OpenCode、Codex甚至Claude Code这些AI编程助手&#xff0c;那你一定对配置管理的混乱深有体会。每个编辑器都有一套自己的配置格式和存放位置&#x…...

3个真实问题告诉你:DdddOcr如何成为你的免费离线验证码识别助手

3个真实问题告诉你&#xff1a;DdddOcr如何成为你的免费离线验证码识别助手 【免费下载链接】ddddocr 带带弟弟 通用验证码识别OCR pypi版 项目地址: https://gitcode.com/gh_mirrors/dd/ddddocr 当你在自动化测试、数据采集或系统集成中遇到验证码时&#xff0c;是否曾…...

从NLP基础到LLM实战:手把手构建大模型全栈能力

1. 从NLP到LLM&#xff1a;为什么你需要一个坚实的“地基” 最近几年&#xff0c;大语言模型&#xff08;LLM&#xff09;的火爆程度有目共睹&#xff0c;ChatGPT、Claude、文心一言这些名字几乎成了日常谈资。很多开发者&#xff0c;尤其是刚入行的朋友&#xff0c;可能一上来…...

【UEFI实战】Secure Boot的密钥管理与策略配置

1. Secure Boot基础概念与核心价值 Secure Boot是UEFI规范中定义的安全启动机制&#xff0c;它的本质是通过密码学手段确保系统只加载经过授权的代码。想象一下这就像小区门禁系统——只有录入人脸信息的住户才能自由进出&#xff0c;而陌生人会被拒之门外。在实际应用中&#…...

零命令行部署飞书AI机器人:桌面应用实现开箱即用

1. 项目概述&#xff1a;一个为普通人设计的飞书AI机器人桌面应用 如果你在飞书里用过官方提供的“AI助手”&#xff0c;可能会觉得它功能不错&#xff0c;但总有些限制——不能自由选择模型&#xff0c;无法深度定制&#xff0c;更别提把它无缝集成到你的工作流里了。于是&am…...

企业AI转型的底层逻辑与路径选择

文章核心内容围绕企业如何实现AI原生转型展开。首先&#xff0c;强调AI转型重点在于如何实现“AI原生”&#xff0c;而非简单叠加AI功能。其次&#xff0c;提出AI产品应超越对话框&#xff0c;实现隐形化与自动化&#xff0c;并成为记录系统。再次&#xff0c;建议企业技术路径…...

仅剩72小时可获取的2026终极对比手册(含Prompt工程调优参数表、国产信创环境适配补丁包、等保2.0三级适配验证清单):ChatGPT与Gemini,你选错一个就多花237万年运维成本

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;ChatGPT与Gemini 2026年全面对比的基准定义与评估范式 为确保跨模型评估的科学性与可复现性&#xff0c;2026年主流AI基准已统一采用**多维动态评估范式&#xff08;MDEP&#xff09;**&#xff0c;该范…...

C8051F系列MCU Flash存储操作与优化实践

1. C8051F系列MCU Flash存储操作核心解析在嵌入式系统开发中&#xff0c;Flash存储器的可靠操作是每个工程师必须掌握的技能。不同于RAM的随意读写&#xff0c;Flash存储有其独特的物理特性和操作约束。以Silicon Labs的C8051F系列微控制器为例&#xff0c;其内部Flash存储器采…...

统一内存引擎:异构计算时代的内存管理革命

1. 项目概述&#xff1a;统一内存引擎的诞生背景与核心价值最近在分布式系统和数据库领域&#xff0c;一个名为chenxi-lee/unified-memory-engine的项目引起了我的注意。乍一看这个标题&#xff0c;可能会觉得它又是一个内存池或者缓存组件&#xff0c;但深入研究后你会发现&am…...