Kubernetes gke入口上的proxy_pass等效于什么?

Kubernetes gke入口上的proxy_pass等效于什么?,kubernetes,google-compute-engine,kibana,google-kubernetes-engine,kubernetes-ingress,Kubernetes,Google Compute Engine,Kibana,Google Kubernetes Engine,Kubernetes Ingress,我在GKE上为kibana创建了一个入口,浏览器返回404(尽管它与原始服务一起工作),我想这是因为我需要路由到/app/kibana端点。我该怎么做 这是我的入口: kind: Ingress metadata: name: my-ingress namespace: default annotations: ingress.kubernetes.io/affinity: cookie kubernetes.io/ingress.class: gce kub

我在GKE上为kibana创建了一个入口,浏览器返回404(尽管它与原始服务一起工作),我想这是因为我需要路由到
/app/kibana
端点。我该怎么做

这是我的入口:

kind: Ingress
metadata:
  name: my-ingress
  namespace: default
  annotations:
    ingress.kubernetes.io/affinity: cookie
    kubernetes.io/ingress.class: gce
    kubernetes.io/ingress.global-static-ip-name: my-proxy
    ingress.kubernetes.io/affinity: cookie
    ingress.kubernetes.io/session-cookie-hash: sha1
    ingress.kubernetes.io/session-cookie-name: route
    nginx.ingress.kubernetes.io/affinity: cookie
    kubernetes.io/ingress.class: gce
    kubernetes.io/ingress.allow-http: "false"
  annotations:
spec:
  tls:
  - secretName: my-tls
  rules:
  - http:
      paths:
      - path: /kibana
        backend:
          serviceName: kibana-nodeport
          servicePort: 5601 
我的节点端口服务:

apiVersion: v1
kind: Service
metadata:
  name: kibana-nodeport
  namespace: default
spec:
  ports:
  - port: 5601
    protocol: TCP
    targetPort: 5601
  selector:
    k8s-app: kibana
  sessionAffinity: None
  type: NodePort
kibana组织服务:

apiVersion: v1
kind: Service
metadata:
  labels:
    component: kibana
  name: kibana-ext
  namespace: default
spec:
  externalTrafficPolicy: Cluster
  loadBalancerSourceRanges:
    - x.x.x.x/32
  ports:
  - name: http
    port: 5601
    protocol: TCP
    targetPort: 5601
  selector:
    k8s-app: kibana
  sessionAffinity: None
  type: LoadBalancer
更新:


当我将Kibana的路径设置为“/*”时,它就工作了。否则我会得到404。

您应该添加/*以便子路径可以工作

  rules:
  - http:
      paths:
      - path: /kibana/*
        backend:
          serviceName: kibana-nodeport
          servicePort: 5601 

您应该添加/*以便子路径可以工作

  rules:
  - http:
      paths:
      - path: /kibana/*
        backend:
          serviceName: kibana-nodeport
          servicePort: 5601 

由于原始问题由user@paltaa提供的答案解决,并由原始海报修复:


我将kibana.yml改为/kibana plus,改为您的建议,效果很好!谢谢-伊丹

我想添加一些额外的资源/信息和“指南”,以帮助处理类似问题


使用
ingress GKE
GKE
中运行Kibana的步骤:

请记住,这是一个仅用于示例目的的基本设置

  • 向Helm提供资源
  • 创建
    入口
    资源
  • 在GCP云控制台(Web UI)中更改Healthcheck
  • 试验

向Helm提供资源 在安装时,我将下面的Github页面用作参考:

生成此设置的方法可能不同,但原则应该相同(值)

使用的命令(特定于Helm3):

  • $helm repo添加弹性https://helm.elastic.co
  • $helm安装es elastic/elasticsearch
  • $helm-pull-elastic/kibana-untar
  • $cd kibana/&nano values.yaml
值.yaml中所做的更改如下:

healthCheckPath:“/test/app/kibana”
#允许您在/usr/share/kibana/config中添加任何配置文件/
#例如kibana.yml
#将与http://DOMAIN.NAME/test/
kibanaConfig:
kibana.yml:|
server.basePath:/test
server.basepath:true
服务:

类型:NodePort#因为原始问题由user@paltaa提供的答案解决,并由原始海报修复:


我将kibana.yml改为/kibana plus,改为您的建议,效果很好!谢谢-伊丹

我想添加一些额外的资源/信息和“指南”,以帮助处理类似问题


使用
ingress GKE
GKE
中运行Kibana的步骤:

请记住,这是一个仅用于示例目的的基本设置

  • 向Helm提供资源
  • 创建
    入口
    资源
  • 在GCP云控制台(Web UI)中更改Healthcheck
  • 试验

向Helm提供资源 在安装时,我将下面的Github页面用作参考:

生成此设置的方法可能不同,但原则应该相同(值)

使用的命令(特定于Helm3):

  • $helm repo添加弹性https://helm.elastic.co
  • $helm安装es elastic/elasticsearch
  • $helm-pull-elastic/kibana-untar
  • $cd kibana/&nano values.yaml
值.yaml中所做的更改如下:

healthCheckPath:“/test/app/kibana”
#允许您在/usr/share/kibana/config中添加任何配置文件/
#例如kibana.yml
#将与http://DOMAIN.NAME/test/
kibanaConfig:
kibana.yml:|
server.basePath:/test
server.basepath:true
服务:

类型:NodePort#在您的设置中,使用类型为
LoadBalancer
服务
,Kibana在其上正确响应:
/
/Kibana
/app/Kibana
?用户@paltaa发布的解决方案是否解决了您的问题?@DawidKruk在原始服务中,我只需转到根(“/”)URL,它会将我重定向到/login?next=%2F链接即可。另外,我可能要补充的是,我的所有入口后端都是健康的。在您使用
LoadBalancer
类型的
服务
,其中
URL
Kibana的响应正确:
//code>,
/Kibana
/app/Kibana
?用户@paltaa发布的解决方案是否解决了您的问题?@DawidKruk在原始服务中,我只需转到根(“/”)URL,它会将我重定向到/login?next=%2F链接即可。另外,我可能还要补充一点,我所有的入口后端都是健康的。我仍然得到了404,我看到的可疑之处是,当我在/kibana中点击入口URL时,它会将我重定向到/login?next=%2Fkibana%2f我将kibana.yml改为重写为/kibana,并更改为您的建议,它成功了!谢谢,我仍然收到404,我看到一些可疑的情况是,当我点击/kibana中的入口URL时,它将我重定向到/login?next=%2Fkibana%2f我将kibana.yml更改为重写为/kibana plus,并更改为您的建议,结果成功了!谢谢