一、使用 Helm 安装 Prometheus
1. 配置源
地址:prometheus 27.19.0 · prometheus/prometheus-community
# 添加repo$ helm repo add prometheus-community https://prometheus-community.github.io/helm-charts"prometheus-community" has been added to your repositories $ helm repo update prometheus-communityHang tight while we grab the latest from your chart repositories......Successfully got an update from the "prometheus-community" chart repositoryUpdate Complete. ⎈Happy Helming!⎈ $ helm search repo prometheus-communityNAME CHART VERSION APP VERSION DESCRIPTION prometheus-community/alertmanager 1.19.0 v0.28.1 The Alertmanager handles alerts sent by client ...prometheus-community/alertmanager-snmp-notifier 1.0.0 v2.0.0 The SNMP Notifier handles alerts coming from Pr...prometheus-community/jiralert 1.7.2 v1.3.0 A Helm chart for Kubernetes to install jiralert prometheus-community/kube-prometheus-stack 72.7.0 v0.82.2 kube-prometheus-stack collects Kubernetes manif...prometheus-community/kube-state-metrics 5.33.2 2.15.0 Install kube-state-metrics to generate and expo...prometheus-community/prom-label-proxy 0.12.2 v0.11.0 A proxy that enforces a given label in a given ...prometheus-community/prometheus 27.16.0 v3.4.0 Prometheus is a monitoring system and time seri...prometheus-community/prometheus-adapter 4.14.1 v0.12.0 A Helm chart for k8s prometheus adapter prometheus-community/prometheus-blackbox-exporter 9.7.0 v0.26.0 Prometheus Blackbox Exporter prometheus-community/prometheus-cloudwatch-expo... 0.27.0 0.16.0 A Helm chart for prometheus cloudwatch-exporter prometheus-community/prometheus-conntrack-stats... 0.5.19 v0.4.27 A Helm chart for conntrack-stats-exporter
2. 下载 prometheus 包
# 拉包$ helm pull prometheus-community/prometheus $ lltotal 88drwxr-xr-x 2 root root 4096 Jul 16 03:12 ./drwxrwxr-x 9 ubuntu ubuntu 4096 Jul 16 03:10 ../-rw-r--r-- 1 root root 80137 Jul 16 03:12 prometheus-27.16.0.tgz # 解包$ tar -zxvf prometheus-27.16.0.tgz ###修改存储,需修改2处vim values.yaml ## Prometheus server data Persistent Volume Storage Class ## If defined, storageClassName: ## If set to "-", storageClassName: "", which disables dynamic provisioning ## If undefined (the default) or set to null, no storageClassName spec is ## set, choosing the default provisioner. (gp2 on AWS, standard on ## GKE, AWS & OpenStack) ## storageClass: "managed-nfs-storage" ###修改为自己的动态存储名称 ## Subdirectory of Prometheus server data Persistent Volume to mount ## Useful if the volume's root directory is not empty ## subPath: "" vim charts/alertmanager/values.yaml persistence: enabled: true ## Persistent Volume Storage Class ## If defined, storageClassName: ## If set to "-", storageClassName: "", which disables dynamic provisioning ## If undefined (the default) or set to null, no storageClassName spec is ## set, choosing the default provisioner. ## storageClass: "managed-nfs-storage" ###修改为自己的动态存储名称 accessModes: - ReadWriteOnce size: 50Mi #####部署 helm install prometheus ./ -n prometheus
二、使用 Helm 安装 Grafana
1. 配置源
地址:grafana 9.2.2 · grafana/grafana
$ helm repo add grafana https://grafana.github.io/helm-charts"grafana" has been added to your repositories $ helm repo update grafanaHang tight while we grab the latest from your chart repositories......Successfully got an update from the "grafana" chart repositoryUpdate Complete. ⎈Happy Helming!⎈ $ helm search repo grafana/grafanaNAME CHART VERSION APP VERSION DESCRIPTION grafana/grafana 9.2.2 12.0.1 The leading tool for querying and visualizing t...grafana/grafana-agent 0.42.0 v0.42.0 Grafana Agent grafana/grafana-agent-operator 0.5.1 0.44.2 A Helm chart for Grafana Agent Operator grafana/grafana-operator v5.18.0 v5.18.0 Helm chart for the Grafana Operator grafana/grafana-sampling 1.1.5 v1.7.5 A Helm chart for a layered OTLP tail sampling a...
2. 安装 grafana
$ helm install grafana grafana/grafana -n grafana --create-namespaceNAME: grafanaLAST DEPLOYED: Tue Jun 3 13:51:47 2025NAMESPACE: grafanaSTATUS: deployedREVISION: 1NOTES:1. Get your 'admin' user password by running: kubectl get secret --namespace grafana grafana -o jsonpath="{.data.admin-password}" | base64 --decode ; echo 2. The Grafana server can be accessed via port 80 on the following DNS name from within your cluster: grafana.grafana.svc.cluster.local Get the Grafana URL to visit by running these commands in the same shell: export POD_NAME=$(kubectl get pods --namespace grafana -l "app.kubernetes.io/name=grafana,app.kubernetes.io/instance=grafana" -o jsonpath="{.items[0].metadata.name}") kubectl --namespace grafana port-forward $POD_NAME 3000 3. Login with the password from step 1 and the username: admin####################################################################################### WARNING: Persistence is disabled!!! You will lose your data when ########### the Grafana pod is terminated. ######################################################################################
3. 访问
web 访问:https://yourip:port
账号:admin
,密码通过下面命令获取
$ kubectl get secret --namespace grafana grafana -o jsonpath="{.data.admin-password}" | base64 --decode ; echo0D0NfEWWFx9qsBiKR8PuFVxf6PPa9o8YGhZZaNXY