Hi,
We are having problems setting up a cluster on Azure using docker. We are using three docker run commands to start each of the nodes, along the lines of :-
sudo docker run --net=bridge -d -e "node.master=true" -e "transport.host=0.0.0.0" -e "network.host=0.0.0.0" -e "network.bind_host=0.0.0.0" -e "network.publish_host=0.0.0.0" -e "node.name=esuk02" -e "discovery.zen.minimum_master_nodes=2" -e "ELASTIC_PASSWORD=xxx" -e "bootstrap.memory_lock=true" -e "ES_JAVA_OPTS=-Xms8g -Xmx8g" -e "xpack.security.http.ssl.enabled=true" -e "xpack.security.transport.ssl.enabled=true" -e "xpack.security.transport.ssl.verification_mode=certificate" -e "xpack.ssl.certificate_authorities=x-pack/certificates/certs/ca/ca.crt" -e "xpack.ssl.certificate=x-pack/certificates/certs/ukselastic2/ukselastic2.crt" -e "xpack.ssl.key=x-pack/certificates/certs/ukselastic2/ukselastic2.key" -e "discovery.zen.ping.unicast.hosts=10.4.0.10,10.4.0.11,10.4.0.12" --mount type=bind,source=/var/lib/waagent,target=/usr/share/elasticsearch/config/x-pack/certificates,readonly -p 9200:9200 -p 9300:9300 --ulimit memlock=-1:-1 docker.elastic.co/elasticsearch/elasticsearch-platinum:6.2.0
This is created with Terraform, which substitutes the relevant items such as the node.name and the certs
In our logs we're seeing :-
which I think looks OK. But on node 2 :-
And likewise we get a similar thing on node 3.
I can netcat to each of the nodes from each other using 9200 or 9300, using either the 10.4.0.x address OR the 172.17.0.x address, from the host or by executing a bash prompt within the docker container and that works just fine, so I don't think I have connectivity or firewall type problems. It must be something wrong with my ES config then (right?)
Here's the docker run for node 1 :-
sudo docker run --net=bridge -d -e "node.master=true" -e "transport.host=0.0.0.0" -e "network.host=0.0.0.0" -e "node.name=esuk01" -e "discovery.zen.minimum_master_nodes=2" -e "ELASTIC_PASSWORD=xxx" -e "bootstrap.memory_lock=true" -e "ES_JAVA_OPTS=-Xms8g -Xmx8g" -e "xpack.security.http.ssl.enabled=true" -e "xpack.security.transport.ssl.enabled=true" -e "xpack.security.transport.ssl.verification_mode=certificate" -e "xpack.ssl.certificate_authorities=x-pack/certificates/certs/ca/ca.crt" -e "xpack.ssl.certificate=x-pack/certificates/certs/ukselastic1/ukselastic1.crt" -e "xpack.ssl.key=x-pack/certificates/certs/ukselastic1/ukselastic1.key" -e "discovery.zen.ping.unicast.hosts=10.4.0.10,10.4.0.12" --mount type=bind,source=/var/lib/waagent,target=/usr/share/elasticsearch/config/x-pack/certificates,readonly -p 9200:9200 -p 9300:9300 --ulimit memlock=-1:-1 docker.elastic.co/elasticsearch/elasticsearch-platinum:6.2.0
and node 0 :-
sudo docker run --net=bridge -d -e "node.master=true" -e "transport.host=0.0.0.0" -e "network.host=0.0.0.0" -e "node.name=esuk00" -e "discovery.zen.minimum_master_nodes=2" -e "ELASTIC_PASSWORD=xxx" -e "bootstrap.memory_lock=true" -e "ES_JAVA_OPTS=-Xms8g -Xmx8g" -e "xpack.security.http.ssl.enabled=true" -e "xpack.security.transport.ssl.enabled=true" -e "xpack.security.transport.ssl.verification_mode=certificate" -e "xpack.ssl.certificate_authorities=x-pack/certificates/certs/ca/ca.crt" -e "xpack.ssl.certificate=x-pack/certificates/certs/ukselastic0/ukselastic0.crt" -e "xpack.ssl.key=x-pack/certificates/certs/ukselastic0/ukselastic0.key" --mount type=bind,source=/var/lib/waagent,target=/usr/share/elasticsearch/config/x-pack/certificates,readonly -p 9200:9200 -p 9300:9300 --ulimit memlock=-1:-1 docker.elastic.co/elasticsearch/elasticsearch-platinum:6.2.0
Many thanks!
Steve Button