本地Minikube中Helm部署Grafana报错:Bad Gateway与模板初始化失败
Minikube用Helm部署Prometheus+Grafana的常见报错排查
先把你执行的命令整理下,方便对照问题:
$ helm install stable/prometheus $ helm install stable/grafana $ export POD_NAME=$(kubectl get pods --namespace default -l "app=prometheus,component=server" -o jsonpath="{.items[0].metadata.name}") $ kubectl --namespace default port-forward $POD_NAME 9090 $ export POD_NAME=$(kubectl get pods --namespace default -l "app=prometheus,component=alertmanager" -o jsonpath="{.items[0].metadata.name}") $ kubectl --namespace default port-forward $POD_NAME 9093 $ export POD_NAME=$(kubectl get pods --namespace default -l "app=excited-crocodile-grafana,component=grafana" -o jsonpath="{.items[0].metadata.name}") $ kubectl --namespace default port-forward $POD_NAME 3000
我来帮你拆解下遇到的两个问题,都是这类部署场景里的常见坑:
1. Grafana加数据源时出现HTTP Error Bad Gateway
说白了就是Grafana Pod根本连不上你填的Prometheus地址,十有八九是地址填错了:
- 你用
port-forward把Prometheus的9090映射到了自己电脑的本地端口,但Grafana是跑在Minikube集群里的Pod里,它没法直接访问你电脑的localhost:9090或者127.0.0.1:9090——这俩地址在Grafana Pod眼里,指的是它自己的容器,不是你的电脑。 - 正确的姿势是用Prometheus在K8s集群内部的Service地址。你先跑
kubectl get svc -n default,找到Prometheus Server对应的Service(一般叫prometheus-server),然后在Grafana数据源配置里填http://prometheus-server.default.svc.cluster.local:80(stable/prometheus的Helm chart默认把server的Service端口设为80)。 - 另外也别忘了检查下Prometheus Server的Pod是不是正常跑起来了,用
kubectl get pods -n default | grep prometheus-server看看状态,如果是CrashLoopBackOff那得先解决Pod启动的问题。
2. 导入ID315仪表盘后出现Templating init failed错误
这个错误和仪表盘的模板变量、Prometheus的采集配置直接相关,主要有几个可能:
- K8s的核心metrics没被Prometheus采集:ID315是专门监控Kubernetes集群的仪表盘,需要Prometheus抓到kube-state-metrics、node-exporter、kubelet这些组件的数据。早期的stable/prometheus chart默认可能没开这些采集任务,你得重新部署的时候加参数开启,比如:
helm install stable/prometheus --set kubeStateMetrics.enabled=true --set nodeExporter.enabled=true - 仪表盘的模板变量和你的数据源不匹配:这个仪表盘默认依赖名叫
Prometheus的数据源,如果你在Grafana里加数据源的时候改了名字(比如叫MyProm),模板就找不到对应的数据源,自然初始化失败。你可以导入仪表盘后,编辑模板变量,把数据源选项改成你实际用的那个名字。 - Minikube没开metrics-server:有些Minikube版本默认没启用metrics-server,你跑
minikube addons enable metrics-server开启它,这样K8s的核心指标才能被正常采集到。
内容的提问来源于stack exchange,提问作者online
相关产品推荐
相关产品推荐

