问题摘要
目标是向外部公开Elasticsearch节点端点,这些端点在内部被寻址为:
elasticsearch-master-0.elastic.svc.cluster.local:9200
elasticsearch-master-1.elastic.svc.cluster.local:9200
elasticsearch-master-2.elastic.svc.cluster.local:9200
这使用StatefulSet和headless服务在集群内进行服务发现。
约束是该外部服务能够具体地寻址代理。
正确的(或者一种可能的)方法是什么?是否可以通过elasticsearch-x.elastic.svc.cluster.local:9200公开一个外部服务?
1条答案
按热度按时间xdnvmnnf1#
我是这样解决我的问题的:
在正式的ElasticSearch helm chart中,创建了2个服务:
1.ElasticSearch主机- 9200/TCP、9300/TCP
1.ElasticSearch器
我使用
nlb
类创建了type: LoadBalancer
的第一个服务,注解如下这将在ELB端创建2个侦听器端口,即
9200
和9300
,并与指向应用程序的目标组链接<es-nlb-dns>:9200
<es-nlb-dns>:9300
现在我使用这些端点连接SpringBoot Data ElasticSearch客户端。