You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

K8s集群中通过Ingress无法访问Grafana Dashboard问题咨询

问题原因

你遇到的404报错由两个配置不匹配导致:

  • Ingress路径转发配置错误:你当前的Ingress配置路径为/grafana/login且没有配置路径重写规则,请求到达Grafana服务时携带的路径仍然是/grafana/login,但Grafana默认在根路径/下提供服务,无法识别带/grafana前缀的路径,直接返回404。
  • 未配置Grafana子路径适配:如果你需要使用/grafana作为统一访问前缀,需要同步修改Grafana的服务配置,让它能识别前缀路径,否则即使路径重写正常,页面内的静态资源、接口跳转也会出现路径错误。

解决方法

方案1:根路径访问(最快生效,无需修改Grafana配置)

直接修改Ingress配置,匹配根路径即可:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: grafana-ingress
  namespace: default
spec:
  ingressClassName: kong
  rules:
  - http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: prometheus-grafana
            port:
              number: 80

修改后执行kubectl apply -f <你的ingress配置文件名>,访问Ingress的对外IP/域名即可直接进入Grafana。

方案2:保留/grafana路径前缀访问

需要同时修改Ingress和Grafana配置:

  1. 修改Ingress配置,添加Kong Ingress的路径重写注解:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: grafana-ingress
  namespace: default
  annotations:
    konghq.com/rewrite: /$1
spec:
  ingressClassName: kong
  rules:
  - http:
      paths:
      - path: /grafana/?(.*)
        pathType: Prefix
        backend:
          service:
            name: prometheus-grafana
            port:
              number: 80
  1. 因为你是通过Helm安装的Grafana,执行以下命令升级Release,开启Grafana的子路径适配:
helm upgrade prometheus prometheus-community/kube-prometheus-stack \
  --set grafana.env.GF_SERVER_ROOT_URL="%(protocol)s://%(domain)s/grafana/" \
  --set grafana.env.GF_SERVER_SERVE_FROM_SUB_PATH=true

等待Grafana Pod重启完成后,访问http://<Ingress对外地址>/grafana即可正常访问仪表盘。


内容的提问来源于stack exchange,提问作者samm13

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 05:21:00