1、拉取helm charts
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm repo update
helm search repo prometheus-community --versions # 选你想要的版本
helm pull prometheus-community/kube-prometheus-stack --version 75.18.1 --untar
2、修改values文件
# values.yamlextraArgs:web.external-url: "http://prometheus.xwk.local" # Prometheus内部感知的对外访问URL,一定要添加不要漏了
···ingress:enabled: true # 开启ingressClassName: "traefik" # 改为自己的ingress类
···hosts:- prometheus.xwk.local # 添加访问地址
···persistentVolume:enabled: truestorageClass: "nfs-data" # 添加存储类
···
alertmanager:## If false, alertmanager will not be installed##enabled: truepersistence:size: 2GipodSecurityContext:runAsUser: 65534runAsNonRoot: truerunAsGroup: 65534fsGroup: 65534persistence: # 这个是原来values中没有的,需要自己添加进去,不然storage-prometheus-alertmanager-0会处于pending状态enabled: truestorageClass: "nfs-data"accessModes:- ReadWriteOncesize: 2Gi# 安装
[root@master-11 prometheus]# helm install -n prometheus prometheus -f values.yaml .
Release "prometheus" has been install. Happy Helming!
NAME: prometheus
LAST DEPLOYED: Fri Sep 5 23:54:49 2025
NAMESPACE: prometheus
STATUS: deployed
REVISION: 7
TEST SUITE: None
NOTES:
The Prometheus server can be accessed via port 80 on the following DNS name from within your cluster:
prometheus-server.prometheus.svc.cluster.localFor access from outside the cluster, the server URL(s) are:
http://prometheus.xwk.localThe Prometheus alertmanager can be accessed via port 9093 on the following DNS name from within your cluster:
prometheus-alertmanager.prometheus.svc.cluster.localGet the Alertmanager URL by running these commands in the same shell:export POD_NAME=$(kubectl get pods --namespace prometheus -l "app.kubernetes.io/name=alertmanager,app.kubernetes.io/instance=prometheus" -o jsonpath="{.items[0].metadata.name}")kubectl --namespace prometheus port-forward $POD_NAME 9093
#################################################################################
###### WARNING: Pod Security Policy has been disabled by default since #####
###### it deprecated after k8s 1.25+. use #####
###### (index .Values "prometheus-node-exporter" "rbac" #####
###### . "pspEnabled") with (index .Values #####
###### "prometheus-node-exporter" "rbac" "pspAnnotations") #####
###### in case you still need it. #####
#################################################################################The Prometheus PushGateway can be accessed via port 9091 on the following DNS name from within your cluster:
prometheus-prometheus-pushgateway.prometheus.svc.cluster.localGet the PushGateway URL by running these commands in the same shell:export POD_NAME=$(kubectl get pods --namespace prometheus -l "app=prometheus-pushgateway,component=pushgateway" -o jsonpath="{.items[0].metadata.name}")kubectl --namespace prometheus port-forward $POD_NAME 9091For more information on running Prometheus, visit:
https://prometheus.io/[root@master-11 ~]# kubectl get pods -n prometheus
NAME READY STATUS RESTARTS AGE
prometheus-alertmanager-0 1/1 Running 0 64m
prometheus-kube-state-metrics-65d678f66d-jzlgc 1/1 Running 0 71m
prometheus-prometheus-node-exporter-jwvvb 1/1 Running 0 71m
prometheus-prometheus-node-exporter-kfc7r 1/1 Running 0 71m
prometheus-prometheus-node-exporter-s5ljx 1/1 Running 0 71m
prometheus-prometheus-pushgateway-85f676f677-sdl95 1/1 Running 0 71m
prometheus-server-7599c98758-vxrlp 2/2 Running 0 29m# 访问web页面
添加hosts解析后访问http://prometheus.xwk.local/