Swarm: Add swarm master HA support

Add --replication and --advertise to swarm master to support swarm HA.
After this patch, user can start more than 1 swarm master.

Refer docs: https://docs.docker.com/swarm/multi-manager-setup/

Partially implements: blueprint swarm-high-availability
Change-Id: I3b6c1ad64598541d055178a54f1507af6882c736
This commit is contained in:
Eli Qiao 2015-12-01 10:09:49 +08:00
parent 860895dc1d
commit 5ede60065f
2 changed files with 7 additions and 4 deletions

View File

@ -20,15 +20,17 @@ ExecStart=/usr/bin/docker run --name swarm-manager \\
-e no_proxy=$NO_PROXY \\
swarm:$SWARM_VERSION \\
manage -H tcp://0.0.0.0:2375 \\
--replication \\
--advertise $NODE_IP:2376 \\
END_SERVICE_TOP
if [ $TLS_DISABLED = 'False' ]; then
cat >> /etc/systemd/system/swarm-manager.service << END_TLS
--tlsverify \\
--tlscacert=/etc/docker/ca.crt \\
--tlskey=/etc/docker/server.key \\
--tlscert=/etc/docker/server.crt \\
--tlsverify \\
--tlscacert=/etc/docker/ca.crt \\
--tlskey=/etc/docker/server.key \\
--tlscert=/etc/docker/server.crt \\
END_TLS
fi

View File

@ -299,6 +299,7 @@ resources:
template: {get_file: fragments/write-swarm-master-service.sh}
params:
"$ETCD_SERVER_IP": {get_param: etcd_server_ip}
"$NODE_IP": {get_attr: [swarm_master_eth0, fixed_ips, 0, ip_address]}
"$DISCOVERY_URL": {get_param: discovery_url}
"$WAIT_HANDLE": {get_resource: master_wait_handle}
"$HTTP_PROXY": {get_param: http_proxy}