【发布时间】:2021-04-08 18:34:24
【问题描述】:
当通过 curl 或 python 的请求库使用标准 HTTP REST 请求时,我有一个 gce-internal 入口,它按预期工作。但是,通过Java Elasticsearch RestHighLevelClient,所有请求都会返回404 (backend NotFound), service rules for [ /... ] non-existent。我已经通过 curl 尝试了完全相同的路线并且没有问题。通过 Apache Beam/Google Cloud Dataflow 的 ElasticsearchIO 库也存在同样的问题。两者都使用相同的org.elasticsearch.client.RestClient,而后者又使用org.apache.http.nio.client.CloseableHttpAsyncClient。
入口配置是:
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: es-ingress
annotations:
kubernetes.io/ingress.class: "gce-internal"
spec:
rules:
- host: host.com
http:
paths:
- path: /*
backend:
serviceName: elasticsearch-coordinating-only
servicePort: 9200
【问题讨论】:
标签: java elasticsearch google-kubernetes-engine kubernetes-ingress