Я пытаюсь настроить готовый к производству кластер на AWS, который использует Jeff Lindsay'sprogrium/docker-consul
для установки Consul
на каждом хосте, но не может получить вторичный и третичный серверы -join
начальный сервер.Ошибка ввода-вывода с использованием progrium/docker-consul
Я следовал Running a real consul cluster in production инструкции, но я получаю сообщение об ошибке i/o timeout
, когда мои consul2
и consul3
узлов пытаются -join
consul1
частного IP.
Экземпляры
Я раскручивается три t2.micros
на AWS и получили следующие Private IP, присвоенный в моем VPC:
172.31.4.194 (Intended to be `consul1`, leader)
172.31.4.195 (Intended to be `consul2`)
172.31.4.193 (Intended to be `consul3`)
Начало работы Initial консулом Экземпляр сервера
Мой consul1
узел получает себя и ждет два других просто отлично:
sudo docker run -d -h consul1 --name consul1 -v /mnt:/data \
-p 172.31.4.194:8300:8300 \
-p 172.31.4.194:8301:8301 \
-p 172.31.4.194:8301:8301/udp \
-p 172.31.4.194:8302:8302 \
-p 172.31.4.194:8302:8302/udp \
-p 172.31.4.194:8400:8400 \
-p 172.31.4.194:8500:8500 \
-p 172.17.42.1:53:53/udp \
progrium/consul -server -advertise 172.31.4.194-bootstrap-expect 3
Попытка run
Второй сервер Instance
Но тогда, когда я приступаю к работе т начать свой consul2
узел, используя следующие:
sudo docker run -d -h consul2 --name consul2 -v /mnt:/data \
-p 172.31.4.195:8300:8300 \
-p 172.31.4.195:8301:8301 \
-p 172.31.4.195:8301:8301/udp \
-p 172.31.4.195:8302:8302 \
-p 172.31.4.195:8302:8302/udp \
-p 172.31.4.195:8400:8400 \
-p 172.31.4.195:8500:8500 \
-p 172.17.42.1:53:53/udp \
progrium/consul -server -advertise 172.31.4.195 -join 172.31.4.194
ошибка
Вот ошибка, что я получаю:
==> WARNING: It is highly recommended to set GOMAXPROCS higher than 1
==> Starting raft data migration...
==> Starting Consul agent...
==> Starting Consul agent RPC...
==> Joining cluster...
==> dial tcp 172.31.4.194:8301: i/o timeout
Любая идея, что может быть причиной этого? Я повторил попытку около девяти раз и до сих пор не повезло. Это побудило меня еще немного узнать о сети (которая является широкой, глубокой, увлекательной темой), но я не могу понять, есть ли проблема в моей конфигурации, или если это настоящая ошибка.
Заранее благодарим за любую помощь.
Альтернативная установка (рекомендуется [https://hub.docker.com/_/consul/)) для использования сети хоста докера (* - net = host *); таким образом вам не нужно делать сопоставления портов контейнера докеров, и он должен двигаться быстрее. Вам все равно нужен ваш брандмауэр, чтобы открыть порты, конечно. –