k8s 離線安裝 kube-prometheus-stack

配置共享存儲

Prometheus 需要配置持久化存儲,防止數據丟失

服務端

服務端安裝 NFS 服務

sudo apt install nfs-kernel-server

創建共享目錄,在服務器端創建 /nfs 目錄。

mkdir /nfs
chmod -R 777 /nfs # 設置文件權限

nfs目錄下只給了默認權限,不設置權限,會報錯

GF_PATHS_DATA='/var/lib/grafana' is not writable.
You may have issues with file permissions, more information here: http://docs.grafana.org/installation/docker/#migrate-to-v51-or-later
mkdir: can't create directory '/var/lib/grafana/plugins': Permission denied

編寫配置文件

vim /etc/exports
#[任意主機所有權限]
/nfs   *(rw,sync,insecure,no_subtree_check,no_root_squash)

重啟 NFS 服務

sudo service nfs-kernel-server restart

常用命令工具

#在安裝 NFS 服務器時,已包含常用的命令行工具,無需額外安裝
#顯示已經 mount 到本機 NFS 目錄的客戶端機器
sudo showmount -e localhost
#將配置文件中的目錄全部重新 export 一次,無需重啟服務
sudo exportfs -rv
#查看 NFS 的運行狀態
sudo nfsstat
#查看 rpc 執行信息,可以用于檢測 rpc 運行情況
sudo rpcinfo

客戶端

需要連接服務端的節點,例如 node 節點

安裝客戶端工具

sudo apt install nfs-common

查看 NFS 服務器上的共享目錄

#顯示指定的 NFS 服務器(假設 IP 地址為 192.168.58.29)上 export 出來的目錄
sudo showmount -e 192.168.58.29

創建本地掛載目錄

sudo mkdir -p /nfs

掛載共享目錄

#假設 NFS 服務器 IP為 192.168.58.29,可以如下設置掛載  
sudo mount -t nfs 192.168.58.29:/nfs /nfs

開始安裝 Prometheus

下載 Prometheus 壓縮包

releases 中,找到自己想安裝的版本:https://github.com/prometheus-community/helm-charts/releases/

wget https://github.com/prometheus-community/helm-charts/releases/download/kube-prometheus-stack-72.3.1/kube-prometheus-stack-72.3.1.tgz

配置持久化卷

創建 prometheus-storage-class.yaml 文件

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:name: prometheus-storage
provisioner: kubernetes.io/no-provisioner
volumeBindingMode: WaitForFirstConsumer

創建 prometheus-pv.yaml 文件

apiVersion: v1
kind: PersistentVolume
metadata:name: prometheus-pv
spec:capacity:storage: 40GiaccessModes:- ReadWriteOncepersistentVolumeReclaimPolicy: RetainstorageClassName: prometheus-storagenfs:path: /nfs/prometheusserver: 192.168.58.29
---
apiVersion: v1
kind: PersistentVolume
metadata:name: alertmanager-pv
spec:capacity:storage: 2GiaccessModes:- ReadWriteOncepersistentVolumeReclaimPolicy: RetainstorageClassName: prometheus-storagenfs:path: /nfs/alertmanagerserver: 192.168.58.29
---
apiVersion: v1
kind: PersistentVolume
metadata:name: grafana-pv
spec:capacity:storage: 8GiaccessModes:- ReadWriteOncepersistentVolumeReclaimPolicy: RetainstorageClassName: prometheus-storagenfs:path: /nfs/grafanaserver: 192.168.58.29

執行安裝 StorageClasspv

kubectl apply -f prometheus-storage-class.yaml
kubectl apply -f prometheus-pv.yaml

驗證安裝

kubectl get StorageClass
kubectl get pv

配置 Prometheus 自定義配置

創建 values.yaml 文件,啟用持久化存儲并指定 StorageClass

prometheus:prometheusSpec:storageSpec:volumeClaimTemplate:spec:storageClassName: prometheus-storageaccessModes: ["ReadWriteOnce"]resources:requests:storage: 40Gi
alertmanager:alertmanagerSpec:storage:volumeClaimTemplate:spec:storageClassName: prometheus-storageaccessModes: ["ReadWriteOnce"]resources:requests:storage: 2Gi
grafana:persistence:enabled: truestorageClassName: prometheus-storageaccessModes: ["ReadWriteOnce"]size: 8Gi

創建共享存儲文件夾

mkdir -p /nfs/alertmanager /nfs/grafana /nfs/prometheuschmod -R 777 /nfs

helm 離線安裝

helm install prometheus ./kube-prometheus-stack-72.3.1.tgz \--namespace monitoring \--create-namespace \-f values.yaml

安裝完成,輸出日志:

NAME: prometheus
LAST DEPLOYED: Wed May 14 15:41:31 2025
NAMESPACE: monitoring
STATUS: deployed
REVISION: 1
NOTES:
kube-prometheus-stack has been installed. Check its status by running:kubectl --namespace monitoring get pods -l "release=prometheus"Get Grafana 'admin' user password by running:kubectl --namespace monitoring get secrets prometheus-grafana -o jsonpath="{.data.admin-password}" | base64 -d ; echoAccess Grafana local instance:export POD_NAME=$(kubectl --namespace monitoring get pod -l "app.kubernetes.io/name=grafana,app.kubernetes.io/instance=prometheus" -oname)kubectl --namespace monitoring port-forward $POD_NAME 3000Visit https://github.com/prometheus-operator/kube-prometheus for instructions on how to create & configure Alertmanager and Prometheus instances using the Operator.

卸載 Prometheus

helm uninstall prometheus --namespace monitoring

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/82112.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/82112.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/82112.shtml

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

相關文章

ceph osd 磁盤分區對齊

分區對齊可以提高讀寫速度的原理是什么 分區對齊可以提高磁盤讀寫速度的原理主要在于 磁盤的物理扇區大小與操作系統發起的讀寫請求之間是否對齊。如果不對齊,每次讀寫操作可能會跨越多個物理扇區,造成額外的 I/O 操作,從而降低性能。 ?? 原理詳解 1. 物理扇區(Physica…

Simon J.D. Prince《Understanding Deep Learning》

學習神經網絡和深度學習推薦這本書,這本書站位非常高,且很多問題都深入剖析了,甩其他同類書籍幾條街。 多數書,不深度分析、沒有知識體系,知識點零散、章節之間孤立。還有一些人Tian所謂的權威,醒醒吧。 …

【泛微系統】后端開發Action常用方法

后端開發Action常用方法 代碼實例經驗分享:代碼實例 經驗分享: 本文分享了后端開發中處理工作流Action的常用方法,主要包含以下內容:1) 獲取工作流基礎信息,如流程ID、節點ID、表單ID等;2) 操作請求信息,包括請求緊急程度、操作類型、用戶信息等;3) 表單數據處理,展示…

SSH的screen方法

創建一個screen窗口,(在需要運行程序的文件夾內)使用 screen -S name 命令,其中 name 是窗口的名字。 在窗口中執行需要的命令。 當需要臨時離開時,使用快捷鍵 ctrlA D 回來時,使用 screen -r name 恢復…

無法訪問org.springframework.boot.SpringApplication

無法訪問org.springframework.boot.SpringApplication 檢查springboot和jdk的版本是否適配檢查jdk的設置是否統一 主要檢查下面幾處地方

洛谷 P1800 software(DP+二分)【提高+/省選?】

題目鏈接 https://www.luogu.com.cn/problem/P1800 思路 對于大于等于最優解的天數,一定能使公司交付軟件。對于小于最優解的天數,一定無法使公司交付軟件。所以考慮二分答案 x x x。 定義 f [ i ] [ j ] f[i][j] f[i][j]表示前 i i i個人做了 j j j…

C++性能測試工具——sysprof的使用

一、sysprof sysprof相對于前面的一些性能測試工具來說,要簡單不少。特別是其圖形界面的操作,非常容易上手,它還支持分析文件的保存和導入功能,這是一個非常不錯的功能。做為一款系統性能測試工具,它支持多種硬件平臺…

redis數據持久化和配置-15(備份和還原 Redis 數據)

備份和還原 Redis 數據 備份和恢復數據是管理任何數據庫系統(包括 Redis)的關鍵方面。數據丟失可能是由于硬件故障、軟件錯誤、意外刪除甚至惡意攻擊而發生的。因此,擁有強大的備份和恢復策略對于確保數據持久性和業務連續性至關重要。本課將…

【上位機——WPF】布局控件

布局控件 常用布局控件Panel基類Grid(網格)UniformGrid(均勻分布)StackPanel(堆積面板)WrapPanel(換行面板)DockerPanel(停靠面板)Canvas(畫布布局)Border(邊框)GridSplitter(分割窗口)常用布局控件 Grid:網格,根據自定義行和列來設置控件的布局StackPanel:棧式面板,包含的…

打卡Day33

簡單的神經網絡 數據的準備 # 仍然用4特征,3分類的鳶尾花數據集作為我們今天的數據集 from sklearn.datasets import load_iris from sklearn.model_selection import train_test_split import numpy as np# 加載鳶尾花數據集 iris load_iris() X iris.data # …

python開發環境管理和包管理

在 Python 開發中,環境管理 和 包管理 是兩個非常重要的概念。它們幫助開發者: 這里寫目錄標題 一、什么是 Python 環境管理?二、什么是 Python 包管理?三、常見文件說明(用于包管理和環境配置)四、典型流程…

Mybatis面向接口編程

添加與Mapper接口的映射 <!--UserMapper.xml--> <?xml version"1.0" encoding"UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> …

GMP模型入門

go的并發實現采用的是M:N的線程模型&#xff0c;落地就是gmp模型。 M:N模型如下圖&#xff1a; gmp模型如下圖&#xff1a; --- Go 的 GMP 模型是其 高效并發調度機制的核心。GMP 代表&#xff1a; G&#xff1a;Goroutine&#xff08;用戶態線程&#xff09; M&#xff1a;…

達夢數據庫-報錯-01-[-3205]:全文索引詞庫加載出錯

目錄 一、環境信息 二、說點什么 三、模擬實驗 1、前臺啟動數據庫 2、重建全文索引報錯 3、日志信息 4、查找SYSWORD.UTF8.LIB 5、想一想加做一做 6、重啟數據庫 7、重建全文索引 8、總結 一、環境信息 名稱值CPU12th Gen Intel(R) Core(TM) i7-12700H操作系統CentO…

經典密碼學和現代密碼學的結構及其主要區別(1)維吉尼亞密碼—附py代碼

Vigenre cipher 維吉尼亞密碼 維吉尼亞密碼由布萊斯德維吉尼亞在 16 世紀發明&#xff0c;是凱撒密碼的一個更復雜的擴展。它是一種多字母替換密碼&#xff0c;使用一個關鍵字來確定明文中不同字母的多個移位值。 與凱撒密碼不同&#xff0c;凱撒密碼對所有字母都有固定的偏移…

Ubuntu部署私有Gitlab

這個東西安裝其實挺簡單的&#xff0c;但是因為我這邊遷移了數據目錄和使用自己安裝的 nginx 代理還是踩了幾個坑&#xff0c;所以大家可以注意下 先看下安裝 # 先安裝必要組件 sudo apt update sudo apt install -y curl openssh-server ca-certificates tzdata perl# 添加gi…

【JVM 02-JVM內存結構之-程序計數器】

程序計數器 筆記記錄 1. 定義2. 作用3. 特點4. 拓展理解4.1 PC寄存器存儲字節碼指令地址有什么用&#xff1f;4.2 PC寄存器為什么被設定為線程私有的&#xff1f;4.3 為什么執行native方法時&#xff0c;是undefined&#xff1f; 學習資料來源-b站黑馬JVM& 尚硅谷JVM精講與…

【node.js】數據庫與存儲

個人主頁&#xff1a;Guiat 歸屬專欄&#xff1a;node.js 文章目錄 1. 數據庫概述1.1 數據庫在Node.js中的作用1.2 Node.js支持的數據庫類型 2. 關系型數據庫集成2.1 MySQL與Node.js2.1.1 安裝MySQL驅動2.1.2 建立連接2.1.3 執行CRUD操作 2.2 PostgreSQL與Node.js2.2.1 安裝pg驅…

Windows10和Ubuntu24.04安裝Dify

1、win10上安裝docker不順利 參考&#xff1a;Dify的安裝_dify安裝-CSDN博客等資料&#xff0c;Dify依賴Docker運行&#xff0c;在Win10上安裝Docker&#xff0c;先安裝wsl。在PowerShell(管理員)中輸入&#xff1a; wsl --install 或顯示“找不到指定文件”&#xff0c;或顯示…

電網絕緣子及破損、閃絡缺陷YOLO數據集

概述 電網絕緣子及破損、閃絡缺陷YOLO數據集??&#xff0c;專為輸電線路缺陷檢測任務設計&#xff0c;可幫助開發者快速構建智能化識別模型。 主要內容 ??數據集規模?? 訓練集&#xff1a;2004張標注圖像驗證集&#xff1a;907張標注圖像所有數據均經過嚴格篩選與標注&…