Мы планируем перейти от автомасштабируемой Azure VMSS к кластеру Azure Kubernetes для размещения наших автономных агентов сборки Azure DevOps Pipeline. Сейчас я настроил свой первый небольшой тестовый кластер и запускаю несколько тестовых конвейеров. В этих конвейерах я использую функцию контейнера конвейеров Azure для запуска заданий в выделенном контейнере.
Но, похоже, это не поддерживается при использовании AKS, поскольку я получаю сообщение об ошибке (на этапе «Инициализация контейнеров») о том, что «докер» недоступен/не установлен при запуске конвейера.
Это ограничение, которое я должен принять? Это означало бы, что я не могу использовать AKS для своих локальных агентов и конвейеров. Или есть какой-то обходной путь, чтобы заставить его работать?
Спасибо
Другой вариант — использовать локальные исполнители в задании контейнерных приложений, что позволяет вашему рабочему процессу получать доступ к ресурсам внутри виртуальной сети задания, которые недоступны для запуска, размещенного в облаке.
Он не поддерживает вложенные контейнеры. Согласно этому официальному документу,
Когда вы указываете контейнер в своем конвейере, агент сначала извлекает и запускает контейнер. Затем каждый шаг задания будет выполняться внутри контейнера. У вас не может быть вложенных контейнеров. Контейнеры не поддерживаются, если агент уже работает внутри контейнера.
Да, использование контейнеров в автономных агентах Azure Pipelines, развернутых как модули Azure Kubernetes, не поддерживается из-за ограничения Docker-in-Docker в AKS 1.19 или более поздней версии. Однако вы по-прежнему можете использовать AKS для своих локальных агентов и конвейеров, выполняя задания в выделенных контейнерах за пределами кластера AKS. Одним из обходных путей является использование экземпляров контейнеров Azure для выполнения заданий контейнера. Вы можете настроить свой конвейер для использования ACI в качестве цели развертывания для заданий контейнера.