如何在不使用helm的情况下在ingress上反向代理grafana?

问题描述 投票:0回答:1

我想要反向代理grafana。我没有使用域来访问入口,而是使用节点的IP。我正在使用重写目标来完成这项工作,但是它不起作用。它始终将应用程序重定向到 /login,不带前缀 /grafana(404 错误)。预期网址为 /grafana/login。

apiVersion: networking.k8s.io/v1
kind: IngressClass
metadata:
  labels:
    app.kubernetes.io/component: controller
  name: nginx-example-grafana
  namespace: grafana
  annotations:
    ingressclass.kubernetes.io/is-default-class: "true"
spec:
  controller: k8s.io/ingress-nginx
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: minimal-ingress-grafana
  namespace: grafana
  annotations:
    nginx.ingress.kubernetes.io/use-regex: "true"
    nginx.ingress.kubernetes.io/rewrite-target: /$2
spec:
  ingressClassName: nginx-example-grafana
  rules:
    - http:
        paths:
          - path: /grafana(/|$)(.*)
            pathType: ImplementationSpecific
            backend:
              service:
                name: grafana
                port:
                  number: 3000
kubernetes grafana kubernetes-ingress
1个回答
0
投票

我不确定我是否理解。这是带有

nginx.ingress.kubernetes.io/rewrite-target: /$2
注释的预期行为。我将重定向到路径正则表达式的第二个捕获组,因此将
/grafana/login
更改为
/login
,因为
/login
与正则表达式的第二个捕获组匹配。

我会简单地删除重定向,并将路径保留为

/grafana

© www.soinside.com 2019 - 2024. All rights reserved.