Создайте docker Swarm Overlay сеть через набор внешних и внутренних хостов - PullRequest
0 голосов
/ 03 февраля 2020

В настоящее время я пытаюсь создать сеть роев docker через хосты. У нас есть два разных сетевых сайта, и один из них является закрытой и частной сетью. На этом закрытом сайте есть только один опубликованный c IP, назначенный нам, и хосты на этом сайте имеют частные IP-адреса. Хосты в другом сетевом сайте имеют собственный опубликованный c IP-адрес для каждого хоста, поэтому проблем не возникает.

Я хочу подключить хосты в закрытом сетевом сайте (называемые внутренними хостами) и хосты, которые имеют их собственные публичные c IP-адреса (называемые внешними хостами).

enter image description here

Потому что только один публичный c IP назначен нам для закрытых сетевой сайт, я установил этот publi c IP назначенный один внутренний хост в закрытом сетевом сайте, и этот хост стал docker менеджером роя. Затем внутренние хосты подключились к сети swarm с использованием внутреннего IP-адреса хоста менеджера swarm, а внешние хосты присоединились с использованием IP-адреса publi c.

Например, во внутренних хостах:

docker swarm join --token ... 172.0.12.12:2377

и на внешних хостах:

docker swarm join --token ... 123.123.123.123:2377

Соединение было успешно выполнено, и я смог правильно распознать все узлы в менеджере роя с помощью команды docker node ls. Однако когда я создаю оверлейную сеть, эта сеть распознается на внешних хостах, но не на внутренних хостах. Итак, когда я создал контейнер на внешнем хосте и попытался пропинговать с внутреннего хоста, он не прошел.

Это неправильный путь? Или я должен что-то проверить? Любые идеи будут очень полезны. Спасибо!

...