【发布时间】:2021-02-17 20:23:43
【问题描述】:
我知道关于这个主题有很多问题,但到目前为止没有任何帮助。第一个问题是我自己的理解。我已经在 K8S 中设置了 Nginx 入口控制器,现在正在尝试为 Kibana 集群服务添加入口规则,该服务在端口转发方面工作良好。
我根本无法让反向代理工作。我会感激两件事:
- K8S 入口规则使其工作
- 一个非常好的“傻瓜”指南,用于通过入口设置反向代理。我发现的大多数指南都是“这是一个 RP,嘿,我们可以将 /app1 重定向到 /app2……这不是很好吗?”除了最基本的东西,他们真的没有任何细节。或者,它们是基于 NGINF conf 的,这不会以相同的方式映射到 K8S 入口规则
发生的情况是,我可以让浏览器 /kibana 重定向到我的 K8S 服务,但是 Kibana 回复它自己的重定向到 /app/home,然后进程以 404 中断(而不是 /kibana/app/家,因为它需要)。我不知道如何在入口规则中处理这个流——它不像将 X 重定向到 Y 那样简单。
我尝试了许多入口规则,但基本上是无限的猴子,直到某些东西起作用。我真的很想正确理解它,但也希望得到这个具体问题的答案。
到目前为止的入口
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: nginx-kibana
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /$2
spec:
ingressClassName: nginx
rules:
- http:
paths:
- path: /kibana(/|$)(.*)
pathType: Prefix
backend:
serviceName: elasticsearch-kibana
servicePort: 5601
K8S 1.18.3
使用 bitnami 图表,我通过 Helm 在我的日志命名空间中创建了 kibana(和 ES):
helm install elasticsearch bitnami/elasticsearch --set sysctlImage.enabled=false,master.replicas=1,coordinating.replicas=1,data.replicas=1,ingest.replicas=1,global.kibanaEnabled=true -n logging
我的入口控制器也通过我的入口命名空间中的掌舵
helm install ingress bitnami/nginx-ingress-controller -n ingress
入口规则适用于与 kibana 相同的日志命名空间
kubectl apply -f ingress-rules.yaml -n logging
【问题讨论】:
-
您使用的是哪个 Kibana 版本?你是如何部署这个的?我想复制这个,因为我可能会为您提供解决方案。不过需要先测试一下。
-
在原始请求中添加了附加信息
标签: kibana kubernetes-ingress nginx-reverse-proxy