Kubernetes gke入口上的proxy_pass等效于什么?
我在GKE上为kibana创建了一个入口,浏览器返回404(尽管它与原始服务一起工作),我想这是因为我需要路由到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
/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页面用作参考:
$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,并更改为您的建议,结果成功了!谢谢