Cant Docker Swarm на работе облачной платформы Google
Я пытаюсь настроить образец роя Docker для работы на моих микросервисах на облачной платформе Google. Проблема заключается в том, что, когда я закончил следовать инструкциям во множественном свете, я не могу получить доступ к службе с указанного порта, который я ввел.
Сначала я установил docker и docker swarm через консоль каждого google compute engine.
Как я настроил брандмауэр:
Я создал новое правило брандмауэра, в котором было указано, что диапазоны фильтров: 0.0.0.0/0, а целевые теги: docker-manager и docker-worker (мои экземпляры механизма облачных вычислений Google).
Как я настроил Docker Swarm Manager:
Я выполнил следующую команду: sudo docker swarm init --advertise-addr 10.128.0.2:2377 --listen-addr 0.0.0.0:2377
рекламируемый адрес - внутренний IP в облачном движке Google
Как я настроил соединение узла для рабочего роя:
Я запустил следующую команду: sudo docker swarm join --token SWMTKN-1-56672dd646yhdx7n1t62tmegakwxbvzc0kgj366otmdu5da086-eis4e8xqqgn1tn5iwxtdoy8he 10.128.0.2:2377 --adisten-addr Добавить: add-addr
Как я создал сервис:
Я выполнил следующую команду: служба sudo docker create --name psight1 -p 8080:8080 --replicas 5 nigelpoulton/pluralsight-docker-ci
Но когда я получаю доступ к сервису по внешнему IP-адресу облачных движков Google через порт 8080, он говорит, что он недоступен. Я не понимаю.
1 ответ
Правило брандмауэра состоит из 3 основных частей: источника, места назначения и портов, которые вы хотите разрешить. Вы упоминаете, что указали диапазон 0.0.0.0/0 и целевые теги назначения docker-manager и docker-worker.
1) "Целевые теги" относятся к сетевым тегам. Это не имя ваших экземпляров виртуальной машины, а тег - это сетевой тег, который вы добавили в свою виртуальную машину.
2) Вы должны либо открыть все порты, либо выбрать указанные порты и / или протоколы. Обязательно разрешите трафик через порт 8080. Не рекомендуется устанавливать исходный фильтр на 0.0.0.0/0 и открывать все порты, это угроза безопасности.
Наконец, вы можете убедиться, что служба работает, подключившись из одного экземпляра к вашей службе, используя внутренний IP-адрес вместо внешнего, просто чтобы убедиться, что служба настроена и работает правильно.