У меня есть балансировщик нагрузки HTTP (s) GCE, настроенный для направления трафика на 2 бэкэнда: - бэкэнд по умолчанию - второй бэкэнд с отдельным правилом хоста / пути (<host>:/*
)
Оба бэкэнда существуют в одной группе экземпляров - кластере контейнеров, на котором запущены две службы kubernetes, которые предоставляют разные NodePort.
Группа экземпляров имеет два именованных порта, по одному для каждого из открытых NodePort.
Несмотря на то, что оба серверных модуля сообщают о работоспособности, все запросы ко второму серверу возвращают 502.
Сами службы не являются проблемой - если я переключу службу за 2-м сервером на стандартную, она будет работать нормально.
НОТА: Я значительно обновил / упростил это описание с момента его первой публикации, так как я могу воспроизвести проблему с гораздо более простой конфигурацией.
По умолчанию трафик от балансировщика нагрузки к вашему экземпляру отключен. К сожалению, это плохо документировано, и действительно, когда вы создаете балансировщик нагрузки, это должно происходить автоматически.
Попробуйте добавить это правило брандмауэра в сеть, в которой находится балансировщик нагрузки и виртуальные машины:
130.211.0.0/22 tcp:1-5000 Apply to all targets