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


Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow