Elasticsearch設計爲以集羣模式運行,我所要做的就是通過環境變量在集羣中定義相關的節點IP,只要網絡連接可用,它就會連接並加入集羣的其他節點。以羣模式運行Elasticsearch容器
我有3個節點,1個充當碼頭羣管理員,另外兩個是工作人員。我已經初始化了管理員並加入了工作節點,從這個角度來看,一切看起來都不錯。
現在我試圖以允許我將所有節點加入同一個elasticsearch集羣的方式運行elasticsearch容器,但是,我希望節點使用其覆蓋網絡接口加入,這意味着我需要在運行docker service create
命令時知道容器內部IP地址,我該怎麼做?我必須使用領事這樣的東西來實現嗎?
一些澄清:
我需要知道,在服務創建時所有參與者Elasticsearch的IP地址(或DNS名稱),這樣我就可以正常啓動羣集。這必須在創建時,而不是在之後。此外,據我所知,我可以公開端口9200/9300的所有服務,並與外部機器IP協同工作,但我想使用覆蓋網絡來完成所有這些通信(我認爲這是什麼羣集模式是)。
此外領事那裏也是Zookeeper和Etcd。 –
@MattSchuchard我不能用羣體的核心來做到這一點嗎? *我*有*使用外部服務發現嗎? –
不知道;因此評論並沒有回答。不要在乎我自己;更喜歡Mesosphere(Zookeeper)或Kubernetes(Consul/Etcd?)。 Swarm似乎對我來說太黑了。 –