1

Je travaille sur des outils de gestion de conf comme etcd et consul. Comme je sais, etcd a un mécanisme de découverte. Je me demande si le consul a quelque chose comme ça?Bootstrap automatique du cluster Consul sur docker

Je travaille sur l'image du docker des consuls officiels et quand je mets les publicités IP et les jointures IP il n'y a pas de problème mais je ne veux pas le faire manuellement. L'IP des conteneurs Docker pourrait changer ou certains nœuds pourraient tomber en panne et vous avez besoin d'un nouveau nœud pour le remplacer. Les situations comme ça comment pourrais-je gérer? Je veux dire est-il une possibilité de rejoindre le cluster sans connaître exactement l'Ip des nœuds dans le cluster?

Répondre

0

Vous pourriez commencer consul avec swarm docker à l'intérieur d'un sous-réseau. Comme ceci:

docker network create --driver overlay --subnet 172.20.0.0/24 consul-net 

docker service create \ 
    --name consul \ 
    --publish 8500:8500 \ 
    --network consul-net \ 
    --replicas 3 \ 
    -e 'CONSUL_BIND_INTERFACE=eth0' \ 
    -e ‘CONSUL_LOCAL_CONFIG={“skip_leave_on_interrupt”:true}’ \ 
consul agent -server -ui \ 
-client=0.0.0.0 \ 
-bootstrap-expect=3 \ 
-data-dir=consul/data \ 
-retry-join 172.20.0.3 \ 
-retry-join 172.20.0.4 \ 
-retry-join 172.20.0.5 \ 
-retry-interval 5s 

Vous pouvez voir cette question consul #66