Мы создали шаблон экземпляра с операционной системой Ubuntu.Используя шаблон экземпляра, мы создали группу экземпляров из 3 машин.Эти 3 машины находятся за TCP Loadbalancer с включенным портом 8080.
Мы выполнили приведенную ниже команду python на первой виртуальной машине.python -m SimpleHTTPServer 8000
Мы видим, что одна из работоспособности экземпляра (1/3) прошла успешно и была протестирована с помощью команды telnet.Поскольку SimpleHTTPServer
установлен на одном экземпляре, он показывает (1/3), что экземпляр исправен.
telnet <Loadbalacer ip> 8000
Однако, когда мы запускаем указанную выше команду со 2-й виртуальной машины в той же группе экземпляров,мы видим «Соединение отказано».
telnet XX.XX.XX.XX 8000
Trying XX.XX.XX.XX...
telnet: Unable to connect to remote host: Connection refused.
Кроме того, эта же служба доступна на других виртуальных машинах, работающих в другой группе экземпляров.Служба недоступна в пределах одной и той же группы экземпляров.
Мы проверили правила брандмауэра и протестировали как опции «разрешить все», так и «Заданные протоколы и порты». Протоколы и порты.
Приведенный выше вариант использования прекрасно работает на AWS Classic LoadBalancer, однако на GCP это не работает.
Я создал правило брандмауэра 'cluster-firewall-rule' с 'master-cluster-ports' в качестве тега.Этот тег был добавлен как часть сетевых тегов в экземпляре.Это правило разрешает трафик для порта 8080.
Что эквивалентно классическому балансировщику нагрузки AWS в GCP?