Запустите агенты док-станции Jenkins Azure ACI в том же Vnet, что и хост - PullRequest
0 голосов
/ 12 апреля 2019

Вопрос

Как указать, какую виртуальную сеть (vnet) или подсеть, на которой работают экземпляры Docker Azure (ACI), работают с агентом Azure Container Плагин для Jenkins?

Допущения

Чтобы получить много данных, передаваемых между двумя компьютерами в Azure, эти машины должны находиться в одной виртуальной сети.

Можно заставить ACI работать в пределахподсеть виртуальной сети для быстрого соединения.

Справочная информация

Я использую виртуальную машину Azure с Jenkins.На этой же виртуальной машине также установлен Nexus для прокси / кеширования сторонних зависимостей.Я запускаю свои сборки на Docker Containers, которые динамически создаются по мере необходимости и впоследствии уничтожаются для экономии средств.Такое создание / уничтожение ACI создает проблему, заключающуюся в том, что локальный кэш .m2 не выдерживает одну сборку за другой.Nexus используется для решения этой проблемы, облегчая быстрый доступ к сторонним зависимостям.

Но для того, чтобы Nexus действительно решил эту проблему, кажется, что ACI должен быть в той же виртуальной сети, что и Nexus.Я также хотел бы получить преимущество, заключающееся в том, что нет необходимости открывать порты для всего мира, но можно передавать данные внутри виртуальной сети без необходимости открывать порты из этой виртуальной сети в Интернет.

Моя проблема в том, что мне кажется,чтобы не контролировать, какую vnet или подсеть запускает ACI с помощью плагина, который я использую (плагин Azure Container Agents).

Я нашел инструкции о том, как указать подсеть в ACI в целом ( ссылка ), но это не помогает мне, поскольку мне нужно решение, которое работает с плагином Jenkins, который я использую.

Но, возможно, этот плагин не подойдет для моих целей, и янужно отказаться от него для другого подхода.Если так, предложения?

1 Ответ

0 голосов
/ 16 апреля 2019

Плагин AFAIK Azure Container Agents для Jenkins в настоящее время не поддерживает указание, в какой виртуальной сети (vnet) работает ACI.Я думаю, вам следует поднять вопрос здесь , чтобы узнать, получите ли вы лучший ответ.

И да, возможно, вам придется отказаться от этого подхода использования агентов ACI Jenkins и в качестве обходного пути (пока что) должен работать с виртуальными машинами в качестве агентов Jenkins или запускать задания Jenkins на самом мастере Jenkins, чтобы локальный кэш .m2 выдерживал одну сборку для следующей.

Ссылки, связанные с данной:

https://docs.microsoft.com/en-us/azure/container-instances/container-instances-jenkins

https://docs.microsoft.com/en-us/azure/container-instances/container-instances-jenkins?toc=%2Fen-us%2Fazure%2Fjenkins%2Ftoc.json&bc=%2Fen-us%2Fazure%2Fbread%2Ftoc.json

Надеюсь, это поможет !!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...