Szukaj…


Uruchom konsul w roju dokerów 1.12

Opiera się to na oficjalnym obrazie dokera konsula, aby uruchomić konsula w trybie klastrowym w roju dokerów z nowym trybem roju w Docker 1.12. Ten przykład jest oparty na http://qnib.org/2016/08/11/consul-service/ . W skrócie chodzi o to, aby skorzystać z dwóch usług roju dokerów, które ze sobą rozmawiają. Rozwiązuje to problem polegający na tym, że nie możesz poznać IP poszczególnych kontenerów konsulowych z przodu i pozwala ci polegać na dns roju dokerów.

Zakłada się, że masz już uruchomiony klaster roju dokerów 1.12 z co najmniej trzema węzłami.

Możesz skonfigurować sterownik dziennika w demonach dokerów, aby zobaczyć, co się dzieje. Użyłem do tego sterownika syslog: ustaw --log-driver=syslog na dockerd.

Najpierw utwórz sieć nakładek dla konsula:

docker network create consul-net -d overlay

Teraz uruchom boot klaster za pomocą tylko 1 węzła (domyślnie --replicas to 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

Powinieneś teraz mieć 1 węzeł. Teraz przywołaj drugą usługę:

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 

Powinieneś teraz mieć czterowęzłowy klaster konsulowy. Możesz to sprawdzić, uruchamiając na dowolnym kontenerze dokera:

docker exec <containerid> consul members


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow