Docker
ejecutar cónsul en docker 1.12 swarm
Buscar..
Ejecutar cónsul en un enjambre 1.12 enjambre
Esto se basa en la imagen oficial de la ventana acoplable del cónsul para ejecutar al cónsul en modo agrupado en un enjambre acoplable con el nuevo modo de enjambre en Docker 1.12. Este ejemplo se basa en http://qnib.org/2016/08/11/consul-service/ . Brevemente, la idea es utilizar dos servicios de enjambre de ventana acoplable que se comuniquen entre sí. Esto resuelve el problema de que no puede conocer los ips de los contenedores de los cónsules individuales por adelantado y le permite confiar en los dns de enjambres de docker.
Esto supone que ya tiene un clúster de enjambres de docking 1.12 en ejecución con al menos tres nodos.
Es posible que desee configurar un controlador de registro en sus demonios docker para que pueda ver lo que está sucediendo. --log-driver=syslog
el controlador de syslog para esto: configuré la --log-driver=syslog
en dockerd.
Primero crea una red superpuesta para cónsul:
docker network create consul-net -d overlay
Ahora reinicie el cluster con solo 1 nodo (el valor predeterminado --replicas es 1):
docker service create --name consul-seed \
-p 8301:8300 \
--network consul-net \
-e 'CONSUL_BIND_INTERFACE=eth0' \
consul agent -server -bootstrap-expect=3 -retry-join=consul-seed:8301 -retry-join=consul-cluster:8300
Ahora debería tener un clúster de 1 nodo. Ahora trae el segundo servicio:
docker service create --name consul-cluster \
-p 8300:8300 \
--network consul-net \
--replicas 3 \
-e 'CONSUL_BIND_INTERFACE=eth0' \
consul agent -server -retry-join=consul-seed:8301 -retry-join=consul-cluster:8300
Ahora debería tener un clúster de cuatro nodos. Puede verificar esto ejecutando en cualquiera de los contenedores de la ventana acoplable:
docker exec <containerid> consul members