Невозможно использовать контейнеры в автономных агентах Azure Pipelines, развернутых как модули Azure K8s

Мы планируем перейти от автомасштабируемой Azure VMSS к кластеру Azure Kubernetes для размещения наших автономных агентов сборки Azure DevOps Pipeline. Сейчас я настроил свой первый небольшой тестовый кластер и запускаю несколько тестовых конвейеров. В этих конвейерах я использую функцию контейнера конвейеров Azure для запуска заданий в выделенном контейнере.

Но, похоже, это не поддерживается при использовании AKS, поскольку я получаю сообщение об ошибке (на этапе «Инициализация контейнеров») о том, что «докер» недоступен/не установлен при запуске конвейера.

Это ограничение, которое я должен принять? Это означало бы, что я не могу использовать AKS для своих локальных агентов и конвейеров. Или есть какой-то обходной путь, чтобы заставить его работать?

Спасибо

Да, использование контейнеров в автономных агентах Azure Pipelines, развернутых как модули Azure Kubernetes, не поддерживается из-за ограничения Docker-in-Docker в AKS 1.19 или более поздней версии. Однако вы по-прежнему можете использовать AKS для своих локальных агентов и конвейеров, выполняя задания в выделенных контейнерах за пределами кластера AKS. Одним из обходных путей является использование экземпляров контейнеров Azure для выполнения заданий контейнера. Вы можете настроить свой конвейер для использования ACI в качестве цели развертывания для заданий контейнера.

Arko 05.04.2024 13:11

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

Arko 05.04.2024 13:11
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Kubernetes - это портативная, расширяемая платформа с открытым исходным кодом для управления контейнерными рабочими нагрузками и сервисами, которая...
Как создать PHP Image с нуля
Как создать PHP Image с нуля
Сегодня мы создадим PHP Image from Scratch для того, чтобы легко развернуть базовые PHP-приложения. Пожалуйста, имейте в виду, что это разработка для...
0
4
330
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Он не поддерживает вложенные контейнеры. Согласно этому официальному документу,

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

Другие вопросы по теме

Kubernetes cronjob игнорирует весь код выхода из контейнера
Dns.GetHostEntry выдает сообщение «Такой хост неизвестен» при выполнении в модуле Kubernetes
OpenShift Client Python — извлечение сведений о ресурсе
EKS — ошибка сервера (запрещено): пространства имен запрещены: пользователь «arn::x/xx» не может перечислить «пространства имен» ресурсов в группе API «» в области кластера
Как создать совпадения префиксов в Istio VirtualService для путей подстроки
HPA не может найти «нетипизированную» пользовательскую метрику из адаптера Prometheus/Stackdriver
Как проверить, подписан ли образ контейнера в Openshift?
Golang == Ошибка: не удалось создать среду выполнения OCI: невозможно запустить процесс контейнера: exec: "./bin": stat ./bin: нет такого файла или каталога: неизвестно
Как определить значения «restapi» диаграммы управления StackGres для использования внутреннего LoadBalancer — AWS EKS
Невозможно найти службу удаленного модуля — SERVICE_UNAVAILABLE