我们正尝试在kubernetes / flannel / coreos集群上运行Elasticsearch。
作为法兰西does not support multicast,我们不能使用Zen多播发现来允许节点找到彼此,形成集群并进行通信。
除了将所有kubernetes节点的IP地址硬编码到ES-config-file中之外,我们还可以使用其他方法来帮助发现吗?可能使用etcd2或其他与kubernetes兼容的发现服务?
发布于 2018-03-19 18:46:52
版本6.2.0支持kubernetes自动发现
按如下方式更新您的elasticsearch.yml
discovery.zen.ping.unicast.hosts:"kubernetes服务名称“
发布于 2015-10-06 04:57:30
有一个使用kubernetes API进行集群发现的发现插件:
https://github.com/fabric8io/elasticsearch-cloud-kubernetes
安装插件:
/usr/share/elasticsearch/bin/plugin -i io.fabric8/elasticsearch-cloud-kubernetes/1.3.0 --verbose创建用于发现的Kubernetes服务:
apiVersion: v1
kind: Service
metadata:
name: elasticsearch-cluster
spec:
ports:
- port: 9300
selector:
app: elasticsearch和一个elasticsearch.yml
cloud.k8s.servicedns: elasticsearch-cluster
discovery.type: io.fabric8.elasticsearch.discovery.k8s.K8sDiscoveryModule发布于 2015-09-28 11:02:38
将容器放入Kubernetes服务中。Kubernetes API使“端点”API可用,该API列出服务的所有成员的IP地址。此端点集将随着您扩展pod的数量而动态缩小和增长。
您可以通过以下方式访问端点:
kubectl get endpoints <service-name>或直接通过Kubernetes API,请参阅:
查看如何为Cassandra完成此操作的示例。
https://stackoverflow.com/questions/32766039
复制相似问题