我正在设置一个 elasticsearch 集群,我想将域 url 设置为<domain_name>/elastic
目前,当我转到 时<domain_name>/elastic
,elasticsearch 认为/elastic
是索引的名称。
我还没有找到任何关于如何为 elatsicsearch 设置根 url 上下文的文档。任何帮助将非常感激。
我正在设置一个 elasticsearch 集群,我想将域 url 设置为<domain_name>/elastic
目前,当我转到 时<domain_name>/elastic
,elasticsearch 认为/elastic
是索引的名称。
我还没有找到任何关于如何为 elatsicsearch 设置根 url 上下文的文档。任何帮助将非常感激。
对于那些通过互联网搜索的人来说,当使用带有路径的入口时如何在 Kubernetes 中做类似的事情,那么/
可以使用nginx.ingress.kubernetes.io/rewrite-target: /
如下注释来完成:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
name: elasticsearch
spec:
rules:
- host: k8s-master
http:
paths:
- backend:
serviceName: elasticsearch
servicePort: 9200
path: /elastic
它将http://k8s-master:ingress_port/elasticelasticsearch
在内部映射到服务的根上下文并index_not_found_exception
解决了错误。
尽管 cgrim 的回答确实将我引向了正确的方向,但我遇到了一个问题,即我无法搜索任何索引。相反,这个重写目标对我有用。
kind: Ingress
metadata:
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /$2
name: elasticsearch
spec:
rules:
- host: k8s-host
http:
paths:
- backend:
serviceName: elasticsearch-master
servicePort: 9200
path: /elastic(/|$)(.*)
此解决方案仍将映射/path
到根目录并解决index_not_found_exception
错误。