3

我正在设置一个 elasticsearch 集群,我想将域 url 设置为<domain_name>/elastic

目前,当我转到 时<domain_name>/elastic,elasticsearch 认为/elastic是索引的名称。

我还没有找到任何关于如何为 elatsicsearch 设置根 url 上下文的文档。任何帮助将非常感激。

4

2 回答 2

3

对于那些通过互联网搜索的人来说,当使用带有路径的入口时如何在 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解决了错误。

于 2019-02-14T20:31:11.743 回答
0

尽管 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错误。

于 2020-12-09T22:33:28.597 回答