如何用 Helm 在 Kubernetes 上安装 Prometheus 和 Grafana?
用 kube-prometheus-stack 一条 Helm 命令即可在 K8s 上装齐 Prometheus + Grafana + Alertmanager + 全套 K8s 采集器。本文给出添加仓库、安装、自定义 values、访问 Grafana 的完整步骤。
社区标准做法是安装 kube-prometheus-stack 这个全家桶 Chart:Prometheus、Grafana、Alertmanager、node-exporter、kube-state-metrics 一次到位,还自带几十张 K8s 监控看板与告警规则。
安装步骤
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm repo update
helm install monitoring prometheus-community/kube-prometheus-stack \
-n monitoring --create-namespace
访问 Grafana
# 取初始密码(用户 admin)
kubectl get secret -n monitoring monitoring-grafana -o jsonpath="{.data.admin-password}" | base64 -d
# 端口转发访问
kubectl port-forward -n monitoring svc/monitoring-grafana 3000:80
生产环境建议配 Ingress + HTTPS,并修改默认密码。
常用 values 定制
# values.yaml
prometheus:
prometheusSpec:
retention: 15d
storageSpec:
volumeClaimTemplate:
spec:
accessModes: ["ReadWriteOnce"]
resources: {requests: {storage: 50Gi}}
grafana:
adminPassword: "强密码"
persistence: {enabled: true, size: 5Gi}
alertmanager:
config:
route: {receiver: 'webhook'}
helm install -f values.yaml 应用定制。存储类一定要先配——默认不落盘,Pod 重建数据即失。
观测云对照
观测云 DataKit 提供一行 YAML 的 DaemonSet 部署:主机、容器、K8s 指标全量采集直传云端,看板与告警开箱自带——不需要维护 Prometheus 的存储、Thanos 扩容与 Grafana 看板同步。已有 kube-prometheus-stack 的团队也可以用 DataKit 抓取 Prometheus 数据做平滑迁移。
常见问题(FAQ)
Q:和 prometheus + grafana 两个独立 Chart 比哪个好? 全家桶默认配置经过打磨、组件版本兼容,新手与生产都推荐。
Q:升级 Chart 会丢配置吗? values 文件在手就不会;CRD 升级看 release notes,个别大版本需手动更新 CRD。