Home » Как использовать экземпляры контейнеров Azure и реестр контейнеров Azure для запуска автономных агентов для конвейеров Azure

Как использовать экземпляры контейнеров Azure и реестр контейнеров Azure для запуска автономных агентов для конвейеров Azure

Введение

Контейнеризация произвела революцию в способах развертывания и управления программным обеспечением. Упаковывая приложения и их зависимости в контейнер, мы можем гарантировать, что наше программное обеспечение будет работать согласованно в различных средах. Это особенно полезно, когда речь идет о настройке автономных агентов для Azure Pipelines.

Автономный агент — это агент, который вы настраиваете и управляете самостоятельно для выполнения заданий. Вы можете использовать автономные агенты в Azure Pipelines или Git Hub Actions. Автономные агенты дают вам больше контроля над установкой зависимого программного обеспечения, необходимого для ваших сборок и развертываний.

Зачем использовать контейнерный автономный агент

Как мы увидели, преимущества выполнения рабочей нагрузки в контейнере включают гибкость, портативность, высокую плотность и многое другое. Запустив автономный агент в контейнере, вы можете воспользоваться преимуществами контейнеризации.

  • Гибкость: вы можете легко разворачивать новые экземпляры вашего агента по мере необходимости, не беспокоясь об установке зависимостей вручную или настройке среды. Это может сэкономить вам время и усилия.
  • Портативность: каждая команда инженеров может иметь автономию и собственный агент сборки для управления своим конвейером. Это помогает гарантировать согласованность сборок и развертываний команды.
  • Высокая плотность. Запуск локального агента в контейнере может упростить управление инфраструктурой. Поскольку контейнеры легкие и портативные, вы можете легко перемещать агенты между разными хостами по мере необходимости. Это может помочь вам оптимизировать использование ресурсов и сократить расходы.

В чем проблема использования контейнерного автономного агента?

В рамках построения рабочей нагрузки CI/CD образы контейнеров являются ключевой возможностью. Задачи Docker можно запускать на контейнерном агенте selfhost, однако для этого требуется доступ к демону Docker на уровне хоста. Это имеет критические проблемы с безопасностью.

Read more:  КУПИТЬ 100% НЕОБНАРУЖЕННЫЕ ПОДДЕЛЬНЫЕ ДЕНЬГИ £, $, €, WhatsApp .+447424501527 | Автофорумы

Решение — использовать задачу Реестра контейнеров Azure (ACR). С помощью задач ACR вы можете использовать Реестр контейнеров Azure для создания образов контейнеров для различных платформ в облаке. ACR Tasks также позволяет автоматизировать процесс обновления контейнеров Docker с помощью исправлений ОС и платформы.

По умолчанию реестр контейнеров Azure принимает подключения через Интернет от узлов в любой сети. Это открывает поверхность для атаки, что обычно неприемлемо в корпоративной среде. Задача ACR использует агент, работающий в Azure, и требует соответствующего разрешения для связи с реестром контейнеров Azure.

Предложенное решение

Существует широкий спектр вариантов запуска контейнерных автономных агентов в Azure: от службы Azure Kubernetes до приложения-контейнера Azure. Это доказательство концепции демонстрирует создание образов контейнеров с использованием локального агента с использованием экземпляров контейнеров Azure с реестром контейнеров Azure только с частным доступом.

Архитектура:

Схема архитектуры

Доказательство концепции:

Все доказательства концепции написаны на Bicep и их можно найти в репозитории GitHub (https://github.com/duongthaiha/containerized-selfhost-agent,). Он предусматривает следующее:

  • Предоставьте в виртуальной сети две подсети: одну для экземпляра контейнера Azure, а другую для реестра контейнеров Azure.
  • Частная зона DNS и записи
  • Предоставление реестра контейнеров Azure частной конечной точки
  • Отключить общий доступ к реестру контейнеров Azure.
  • Предоставление автономного агента Azure DevOps в экземплярах контейнеров Azure.
  • Предоставьте задачу реестра контейнеров Azure для создания образа контейнера.
  • Пользовательское определение и назначение ролей в соответствии с принципами минимальных привилегий.

Предварительное условие:

Организация ADO и токен PAT. Для получения более подробной информации требуется разрешение, см. Запуск локального агента в Docker — Azure Pipelines | Microsoft Обучение

GitHub Repo и Token для получения более подробной информации о требуемом разрешении см. Управление вашими токенами личного доступа – GitHub Docs

Read more:  Как Джек Смит пытается добиться начала процесса над Трампом 6 января

Шаги развертывания:

1) Обновите файл параметров, включив в него правильные параметры:

Ха_Дуонг_1-1693956972719.png

2) Запустите команду для развертывания ресурса:

Ха_Дуонг_2-1693956972723.png

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

Ха_Дуонг_3-1693956972731.png

4) Запустите команду, чтобы запустить задачу сборки.

Ха_Дуонг_4-1693956972733.png

Ха_Дуонг_6-1693956972750.png

5) На рисунке выше вы можете видеть, что самостоятельный агент успешно создал образ и загрузил его в реестр контейнеров Azure.

Краткое содержание:

Если вы планируете настроить автономный агент для Azure Pipelines, определенно стоит рассмотреть возможность запуска его в контейнере и использования реестра контейнеров Azure с отключенным общим доступом для создания образов с помощью задач ACR.

Связанный контент:

Запуск локального агента в Docker — Azure Pipelines | Microsoft Обучение

Управление вашими токенами личного доступа – GitHub Docs

Запуск локального агента в Docker — Azure Pipelines | Microsoft Обучение

Обзор задач ACR — Реестр контейнеров Azure | Microsoft Обучение

2023-09-12 17:40:25


1696854019
#Как #использовать #экземпляры #контейнеров #Azure #реестр #контейнеров #Azure #для #запуска #автономных #агентов #для #конвейеров #Azure

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.