Как запустить экземпляр контейнера с помощью API Azure?

У меня есть сборка контейнера в gitlab и регистрация в настраиваемом реестре gitlab. Внутри этого контейнера находится команда, которая выполняется очень долго. Я хотел бы как-то развернуть этот контейнер в Azure и запускать этот длительный процесс в новом экземпляре контейнера только по запросу из административной службы api. Я не хочу, чтобы контейнер работал все время, только на время, необходимое для выполнения команды.

Я думал, что этот api администратора может быть классической службой api http rest, размещенной в «Службах приложений» Azure, или, возможно, с использованием новой функции «Приложения-функции» в Azure.

В своем исследовании я обнаружил, что с помощью команд azure cli я могу запустить контейнер следующим образом:

az container create —resource-group myResourceGroup —name mycontainer2 —image microsoft/aci-wordcount:latest —restart-policy OnFailure —environment-variables NumWords=5 MinLength=8

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

Я хотел бы сделать это из административного api, предпочтительно используя то, что мне кажется похожим на официальный пакет Azure npm, расположенный здесь:

https://www.npmjs.com/package/azure

В идеале это была бы одна команда для создания и запуска экземпляра, поэтому для меня важна возможность устанавливать переменные среды, как в этом примере, при запуске контейнера. Меня не интересует перенос всего моего кода в Azure, я хотел бы продолжить использовать gitlab для исходного кода и реестра контейнеров, но если есть какая-то причина, по которой мне нужно переключиться на использование реестра контейнеров Azure, мне нужен способ как-то переместите туда регистрацию контейнера с помощью gitlab ci yaml.

Во всех моих поисках я не мог найти никакого способа сделать это, но ближайшая документация, которую я нашел, была здесь:

https://docs.microsoft.com/en-us/javascript/api/azure-arm-containerservice/containerserviceclient?view=azure-node-latest

Я бы обманул и запустил az с параметром отладки, чтобы он выдавал необработанный API-интерфейс ARM, который он вызывает, и полезную нагрузку JSON. Тогда я бы просто воссоздал запрос в аксиомах или выборке. Чтобы получить токен доступа, я бы просто использовал MSI и даже не заморачивался с OAuth — docs.microsoft.com/en-us/azure/active-directory/. Вот и все, никаких зависимостей.   —  person slf    schedule 01.10.2018

Источник: ledsshop.ru

Стиль жизни - Здоровье!