首页 > 解决方案 > 大使网关:Grafana 在 Kubernetes 环境中无法正确重定向

问题描述

我已经部署了 Ambassador 和 grafana,然后部署了 Grafana 服务以通过 API 网关公开


[root@am26 granafa-service-21]# kubectl get svc
NAME                          TYPE        CLUSTER-IP       EXTERNAL-IP      PORT(S)          AGE
ambassador                    NodePort    10.107.4.224     10.134.136.256   80:32555/TCP     6d17h
ambassador-admin              NodePort    10.106.171.141   <none>           8877:31193/TCP   6d17h

这是我的大使服务

---
apiVersion: v1
kind: Service
metadata:
  name: grafana2-ai-service
  annotations:
    getambassador.io/config: |
      ---
      apiVersion: ambassador/v1
      kind: Mapping
      name: grafana2-ai-mapping
      prefix: /grafana6/
      service: grafana2-ai-service
      rewrite: ""

spec:
  ports:
    - port: 80
      targetPort: 3000
      name: http
      protocol: TCP
  selector:
    app: grafana

尝试使用 url http://10.134.136.256/grafana6/访问 UI

在 UI 中收到以下消息,知道如何解决这个问题吗?

在此处输入图像描述

标签: kubernetesgrafanaapi-gatewayenvoyproxyambassador

解决方案


如果您使用 Helm,则需要添加此 grafana.ini 配置:

## Using default values from https://github.com/grafana/helm-charts/blob/main/charts/grafana/values.yaml
##
grafana:
  enabled: true
  namespaceOverride: ""
  # For mapping a path to ambassador
  grafana.ini:
    server:
      root_url: http://localhost:3000/grafana6/
      serve_from_sub_path: true
    paths:
      data: /var/lib/grafana/data
      logs: /var/log/grafana
      plugins: /var/lib/grafana/plugins
      provisioning: /etc/grafana/provisioning
    analytics:
      check_for_updates: true
    log:
      mode: console
    grafana_net:
      url: https://grafana.net

或者直接修改 grafana.ini 文件。


推荐阅读