Я играл немного с Google Cloud и контейнерной Engine, но я не могу получить мой VM, чтобы получить доступ к своему kubernetes «Сервис»Может ли моя виртуальная машина напрямую обращаться к «сервисам» в движке контейнера google?
Моему сценария: У меня есть Jenkins VM развернутый в двигателе Compute (Everthing является сеть по умолчанию). Затем я развернул кластер контейнеров, и я запустил реестр докеров (с файлом pod) и использовал «сервис» перед пакетом. Я могу получить доступ к реестру докеров очень хорошо со всех узлов кластера, а мастер просто отлично. Я также попытался создать внешний балансировщик нагрузки, чтобы реестр докеров был общедоступным. Все работает нормально.
Однако, я не хочу, чтобы реестр был общедоступным. Я просто хочу, чтобы моя Jenkins VM могла получить доступ к сервису реестра docker в кластере контейнеров. Но это не работает. Похоже, что они находятся в другой подсети. Jenkins имеет IP 10.240.126.57, а служба-докер-реестр в кластере контейнеров имеет 10.131.249.127.
Каков наилучший способ достичь этого? Я играл с «Маршрутами», но по какой-то причине я неспособен заставить это работать. Sidenote: все виртуальные машины могут пинговать весь контейнер и наоборот, но я просто не могу получить доступ к «IP-адресам службы контейнеров».
Отлично работает! Добавил его для всех узлов кластера, и они, похоже, говорят :). – florianrosenberg
Я думаю, что говорил слишком быстро. Теперь я попытался открыть док-реестр в качестве службы, и когда я выдвигаюсь от Дженкинса, я получаю частые таймауты. Я не могу нажать полное изображение без ошибок. Не знаю, как отлаживать. Нажатие изнутри 10.240.0.0/16, похоже, работает нормально. – florianrosenberg
Хм. Я ничего не знаю о том, как оттолкнуться от Дженкинса, но я предполагаю, что ему не нравится, что реестр отвечает от другого IP-адреса, чем тот, который он отправляет. –