Доступ к IP-адресу в сети хоста внутри модуля kubernetes
Как я могу получить доступ к услуге по IP-адресу в сети моего хоста?
По сути, у меня 5 или 6 VMS в одной сети, и 3 из них используются для создания кластера Kubernetes. Одна из этих виртуальных машин содержит частный реестр npm, внешний по отношению к Kubernetes (192.168.2.x). Я использую Gitlab Runner, который работает в кластере Kubernetes. Выполняя установку npm во время фазы сборки конвейера ci, я получаю тайм-аут, так как модуль, работающий как бегун сборки gitlab, не может получить доступ к частному реестру npm, который находится в сети хоста через 192.168.2.x, а не внутри Kubernetes. кластер.
Есть ли способ получить доступ к службе внутри той же хост-сети, но не внутри кластера Kubernetes?
Вот пример сообщения об ошибке внутри бегуна:
$ npm install npm WARN необязательно SKIPPING ДОПОЛНИТЕЛЬНАЯ ЗАВИСИМОСТЬ: fsevents@1.2.9 (node_modules/@angular/compiler-cli/node_modules/fsevents): npm WARN network SKIPPING ДОПОЛНИТЕЛЬНАЯ ЗАВИСИМОСТЬ: запрос к https://devops.internal.ideam.co.za/repository/npm-group/fsevents, причина: подключение ETIMEDOUT 192.168.2.6:443
нпм ERR! код ETIMEDOUT npm ERR! errno ETIMEDOUT npm ERR! сетевой запрос к> https://devops.internal.ideam.co.za/repository/npm-group/source-map не выполнен, причина: подключить ETIMEDOUT 192.168.2.6:443 npm ERR! сеть Это проблема, связанная с сетевым подключением.
Как вы можете видеть, когда полное доменное имя, защищенное с помощью доверенного сертификата, преобразуется во внутренний IP-адрес, IP-адрес хоста реестра npm недоступен из модуля. Я убедился, что внешнее полное доменное имя разрешается с помощью команды busybox и nslookup в кластере Kubernetes в модуле отладки.
Я предоставил пояснительную схему для иллюстрации:
Это проблема конфигурации сети? Кто-нибудь знает, возможно ли это или как заставить это работать?