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.pswp.cn/pingmian/73092.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/73092.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/73092.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

uni-app——數據緩存API

數據緩存API 在 uni-app 開發中,數據緩存 API 起著重要作用,它能夠將需要的數據保存到本地,同時也提供了獲取本地緩存數據、移除緩存數據以及清理緩存數據的功能。在實際項目里,數據緩存 API 常被用于存儲會員登錄狀態信息、購物…

突破時空邊界:Java實時流處理中窗口操作與時間語義的深度重構

一、流處理范式的革命性演進 在數字化浪潮的推動下,數據處理范式正經歷著從批量到實時的根本性轉變。這種轉變不僅改變了數據處理的時效性特征,更重新定義了時間維度在計算模型中的戰略地位。Apache Flink的統計數據顯示,現代流處理系統每秒…

【2025 深圳大學-騰訊云程序設計競賽(熱身賽)】題解

比賽鏈接 A. Cloud Studio的共享連接 題目大意 && Solution 給定 T T T 組長度均為 12 12 12 的字符串 s s s。 對每個 s s s,將其按從左到右的順序兩兩分組形成 6 6 6 個 A S C I I \rm{ASCII} ASCII 碼,對這 6 6 6 個 A S C I I \…

APScheduler - 用戶指南

本文翻譯整理自:https://apscheduler.readthedocs.io/en/3.x/userguide.html 文章目錄 一、安裝 APScheduler二、代碼示例三、基本概念四、選擇合適的 scheduler, job store(s), executor(s) and trigger(s)五、配置調度器方法 1:方法 2:方法 3: 六、啟動調度器七、…

vue3:十一、主頁面布局(優化頁面跳轉方式)

:router"true" 一、參考文章 vue3:十一、主頁面布局(實現基本左側菜單右側內容效果)-CSDN博客 參考上述文章可知,頁面跳轉是通過在js中定義的菜單中攜帶的path,然后通過菜單的點擊事件完成的跳轉,現在可以進行優化,直…

每日一題--C與C++的差別

C與C的差別 1. 編程范式 C 純 過程式編程語言,強調函數和結構化編程。 代碼通過函數和順序步驟組織,適合底層系統開發。 C 支持 多范式編程: 過程式編程 面向對象編程(OOP)(類、繼承、多態) …

Etcd 服務搭建

💢歡迎來到張胤塵的開源技術站 💥開源如江河,匯聚眾志成。代碼似星辰,照亮行征程。開源精神長,傳承永不忘。攜手共前行,未來更輝煌💥 文章目錄 Etcd 服務搭建預編譯的二進制文件安裝下載 etcd 的…

玩轉C#函數:參數、返回值與游戲中的攻擊邏輯封裝

Langchain系列文章目錄 01-玩轉LangChain:從模型調用到Prompt模板與輸出解析的完整指南 02-玩轉 LangChain Memory 模塊:四種記憶類型詳解及應用場景全覆蓋 03-全面掌握 LangChain:從核心鏈條構建到動態任務分配的實戰指南 04-玩轉 LangChai…

WebRTC建立Description的通信的實際的原理

一、正確流程的核心邏輯 // 發送端正確代碼示例 const senderPC new RTCPeerConnection();// 生成Offer時立即開始收集候選 ? senderPC.createOffer().then(offer > {await senderPC.setLocalDescription(offer); // 觸發icecandidate事件sendToReceiver(offer); });// …

EmbodiedSAM:在線實時3D實例分割,利用視覺基礎模型實現高效場景理解

2025-02-12,由清華大學和南洋理工大學的研究團隊開發 一種名為 EmbodiedSAM(ESAM)的在線3D實例分割框架。該框架利用2D視覺基礎模型輔助實時3D場景理解,解決了高質量3D數據稀缺的難題,為機器人導航、操作等任務提供了高…

信創-人大金倉數據庫創建

一. 官文 資源下載地址 https://download.kingbase.com.cn/xzzx/index.htm 下載安裝文件 下載授權文件 產品文檔地址:https://help.kingbase.com.cn/v8/index.html 二. 概念 2.1 體系結構 ? 實例結構 ?:由數據庫文件和 KingbaseES 實例組成。數據…

C++第三種異質集合 std::any方式實現

#include <type_traits> #include <any> #include <functional> #include <iomanip> #include <iostream> #include <typeindex> #include <typeinfo> #include <unordered_map> #include <vector> //any是編譯期的異質…

Springboot實現使用斷點續傳優化同步導入Excel

springboot實現使用斷點續傳優化同步導入Excel 需求前言斷點續傳前端實現后端實現完結撒花&#xff0c;如有需要收藏的看官&#xff0c;順便也用發財的小手點點贊哈&#xff0c;如有錯漏&#xff0c;也歡迎各位在評論區評論&#xff01; 需求前言 在跨境電商系統中&#xff0c…

mysql 對json的處理?

MySQL從5.7版本開始支持JSON數據類型&#xff0c;并提供了多種函數來查詢和處理JSON數據。以下是一些基本的操作和函數&#xff1a; 創建包含JSON列的表&#xff1a; 可以直接在表定義中指定某列為JSON類型。 CREATE TABLE my_table (id INT NOT NULL AUTO_INCREMENT,data JSON…

Nexus L2 L3基本配置

接口基本配置 N7K上所有端口默認處于shutdown狀態; N5K上所有端口默認處于no shutdown狀態(所有端口都是switchport) 默認所有接口都是三層route模式, 只有當線卡不支持三層的時候, 接口才會處于二層switchport模式 show run all | in “system default” 創建SVI口需要提前打…

HCIA-AI人工智能筆記3:數據預處理

統講解數據預處理的核心技術體系&#xff0c;通過Python/Pandas與華為MindSpore雙視角代碼演示&#xff0c;結合特征工程優化實驗&#xff0c;深入解析數據清洗、標準化、增強等關鍵環節。 一、數據預處理技術全景圖 graph TD A[原始數據] --> B{數據清洗} B --> B1[缺…

G-Star 校園開發者計劃·黑科大|開源第一課之 Git 入門

萬事開源先修 Git。Git 是當下主流的分布式版本控制工具&#xff0c;在軟件開發、文檔管理等方面用處極大。它能自動記錄文件改動&#xff0c;簡化合并流程&#xff0c;還特別適合多人協作開發。學會 Git&#xff0c;就相當于掌握了一把通往開源世界的鑰匙&#xff0c;以后參與…

MySQL錯誤 “duplicate entry ‘1‘ for key ‘PRIMARY‘“ 解決方案

文章目錄 1. 錯誤原因分析2. 快速解決方法場景1:手動插入重復值場景2:自增主鍵沖突場景3:批量插入沖突3. 長期預防策略4. 高級排查技巧該錯誤通常由主鍵沖突引起,表示嘗試插入或更新的主鍵值已存在于表中。以下是分步排查和解決方法: 1. 錯誤原因分析 主鍵唯一性約束:表…

WEB攻防-PHP反序列化-字符串逃逸

目錄 前置知識 字符串逃逸-減少 字符串逃逸-增多 前置知識 1.PHP 在反序列化時&#xff0c;語法是以 ; 作為字段的分隔&#xff0c;以 } 作為結尾&#xff0c;在結束符}之后的任何內容不會影響反序列化的后的結果 class people{ public $namelili; public $age20; } var_du…

把生產隊的大模型Grok 3 beta用來實現字帖打磨

第一個版本&#xff0c;就是簡單的田字格&#xff0c;Grok 3 beta 思考了15s就得到了html前端代碼&#xff0c;javascript; 然而還不完美&#xff1b; 第二個版本&#xff0c;進一步&#xff0c;通過pinyin項目給漢字加上注音&#xff0c;米字格和四線格&#xff1b;&#xff…