无法通过kubernetes的kong入口控制器访问grafana

问题描述

我正按照以下步骤尝试将grafana应用程序公开给互联网:

helm install kong / kong --generate-name --set ingressController.installCRDs = false

  • 然后按如下所示应用入口规则
    echo "
    apiVersion: extensions/v1beta1
    kind: Ingress
    Metadata:
    name: demo
    annotations:
    kubernetes.io/ingress.class: kong
    spec:
    rules:
    - http:
    paths:
    - path: /grafana
    backend:
    serviceName: prom-stack-grafana
    servicePort: 3000
    " | kubectl apply -f -

服务正常运行并指向正确的端点

NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S)
kong-1602803623-kong-proxy LoadBalancer 10.0.X.Y W.X.Y.Z 80:32218/TCP,443:30596/TCP
prom-stack-grafana ClusterIP 10.0.X.Y 3000/TCP
NAME                                      ENDPOINTS                                             
kong-1602803623-kong-proxy                10.244.X.Y:8443,10.244.X.Y:8000                    
prom-stack-grafana                        10.244.X.Y:3000  

Kong控制器和Ingress在同一名称空间中运行

  • 现在的问题是,当我尝试通过以下方式访问grafana时 curl -i $ PROXY_IP / grafana和来自浏览器的“重定向到/ login后的空白页”

  • 我被重定向到/ login而没有输出

% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 29 100 29 0 0 82 0 --:–:-- --:–:-- --:–:-- 82HTTP/1.1 302 Found
Content-Type: text/html; charset=utf-8
Content-Length: 29
Connection: keep-alive
Cache-Control: no-cache
Expires: -1
Location: /login
Pragma: no-cache
Set-Cookie: redirect_to=%2Fgra; Path=/; HttpOnly; SameSite=Lax
X-Content-Type-Options: nosniff
x-frame-options: deny
X-Xss-Protection: 1; mode=block
Date: Thu,15 Oct 2020 23:31:30 GMT
X-Kong-Upstream-Latency: 2
X-Kong-Proxy-Latency: 0
Via: kong/2.1.4

<a href="/login">Found</a>

需要知道这里缺少什么,才能重定向到grafana主页

解决方法

您是否已在Grafana中配置了根网址?

您已将Ingress配置为在/grafana处提供Grafana服务,因此您需要让Grafana知道需要将其添加为路径前缀。

配置会根据您使用的Grafana版本而稍有变化,但是您需要设置root_url。如果您使用的是较新版本的Grafana,则可能还需要设置serve_from_sub_pathdomain