访问ingress(nginx)时状态码404

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

我在 kubernetes 集群上运行了 kibana,想通过子路径公开 kibana

/kibana
。这是我的 yaml 配置:

apiVersion: kibana.k8s.elastic.co/v1
kind: Kibana
metadata:
  name: kb-qs
spec:
  version: 8.6.2
  count: 1
  elasticsearchRef:
    name: es-qs
  config:
    server:
      basePath: "/kibana"
      rewriteBasePath: true
      publicBaseUrl: "https://localhost:5601/kibana"
  http:      
    tls:
      selfSignedCertificate:
        disabled: true 
  podTemplate:
      spec:
        containers:
        - name: kibana
          readinessProbe:
            initialDelaySeconds: 210
            periodSeconds: 30
            httpGet:
              scheme: HTTP
              path: "/kibana/login"
              port: 5601

为了公开 kibana,我还启用了 nginx-ingress-controller 并创建了这个入口:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: ingress-kb
  annotations:
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/use-regex: "true"
    nginx.ingress.kubernetes.io/rewrite-target: /$2
spec:
  rules: 
  - host: ""
    http:
      paths:
      - path: /kibana(/|$)(.*)
        pathType: Prefix
        backend:
          service:
            name: kb-qs-kb-http
            port:
              number: 5601

但是,我尝试通过

http://localhost/kibana
访问入口,它说 404 未找到。我在我的 kibana 配置中指定了子路径、就绪探测器以及我的入口。 kb-qs-kb-http 服务侦听端口 5601。那我错过了什么?

kubernetes nginx http-status-code-404 kubernetes-ingress
1个回答
0
投票

我认为你应该添加这个注释然后你可以使用

regex
.

nginx.ingress.kubernetes.io/use-regex: "true"
© www.soinside.com 2019 - 2024. All rights reserved.