【问题标题】:Trying to rewrite url for Grafana with Ingress尝试使用 Ingress 重写 Grafana 的 url
【发布时间】:2019-07-23 18:20:51
【问题描述】:

在我的 kubernetes 集群中,我想进行监控,所以我安装了 grafana。

我想以 http://example.com/monitoring 的身份访问 grafana 仪表板,因此我尝试将其包含在我的入口配置中

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: example-ingress
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /$1
spec:
  rules:
  - host: example.com
  http:
    paths:
    - path: /monitoring/(.*)
    backend:
     serviceName: grafana
     servicePort: 80

这个想法是在那里添加其他路径,例如网站的/。

我注意到 Grafana 将 http://example.com/monitoring 重定向到 http://example.com/login。当然这应该是http://example.com/monitoring/login。解决此问题的首选方法是什么。可以用ingress 完成,还是我应该以某种方式告诉Grafana 它位于/monitoring 路径后面(如果可能)?

我已经使用 Helm 使用 this 安装了 grafana。

更新:我已按照 grafana 图表文件 values.yaml 下方的建议进行了如下修改

grafana.ini:
  server:
    domain: example.com
    root_url: http://example.com/monitoring/

现在我明白了:

还有我用来安装grafana的heml命令:

$> helm install stable/grafana -f values.yaml --set persistence.enabled=true --set persistence.accessModes={ReadWriteOnce} --set persistence.size=8Gi -n grafana

【问题讨论】:

    标签: kubernetes grafana kubernetes-ingress nginx-ingress


    【解决方案1】:

    这是 HTTP 反向代理背后的服务的常见问题。幸运的是,Grafana 提供了一种方法让它知道它正在运行的上下文路径。

    在grafana.ini(很可能通过 ConfigMap 提供给其 Kubernetes 部署)中,您需要指定如下变量:

    [server]
    domain = example.com
    root_url = http://example.com/monitoring/
    

    在此处查看完整文档:https://grafana.com/docs/installation/behind_proxy/

    【讨论】:

    • 你是对的,但我已经用 Helm 安装了 Grafana(查看我更新的问题)。我已经更新了 values.yaml,但没有运气
    • @JeanlucaScaljeri 只是猜测:您可以尝试删除入口中的重写,只保留路径为/monitoring/ 并重试吗?可能是 Grafana 中的 root_url 指令导致它自己从 /monitoring 上下文路径中获得服务。
    • 原来是 Ingress 重写问题。所以它现在就像一个魅力。非常感谢您的帮助!
    • 遇到了与这个问题相同的错误,尽管我在 kube-prometheus-stack/charts/grafana/values.yaml 中有以下条目。任何线索还有什么要检查的? grafana.ini:...服务器:域:sandboxgr.myorg.com root_url:sandboxgr.myorg.com
    • 这个解决方案对我有用。花了一些时间来计算 grafana helm 值 yaml。评论没有显示我的缩进。 :( grafana: enabled: true grafana.ini: server: domain: a9####3f1.elb.us-east-1.amazonaws.com root_url: http://a956####f1.elb.us-east-1.amazonaws.com/grafana/ serve_from_sub_path: true 这是在 aws 中的网络负载均衡器后面。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-08-03
    • 2013-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-26
    • 2020-01-19
    相关资源
    最近更新 更多