如何使用Azure api启动容器实例?

时间:2018-09-25 17:18:04

标签: node.js azure gitlab gitlab-ci azure-container-service

我在gitlab中建立了一个容器,并在gitlab自定义注册表中进行了注册。该容器内部是一个运行时间很长的命令。我想以某种方式将此容器部署为Azure,并且仅根据管理api服务的要求在新的容器实例内启动这个长时间运行的过程。我不希望容器一直运行,而只希望它运行命令所需的时间。

我当时想这个管理api可能是在Azure“应用服务”下托管的经典http rest api服务,或者可能使用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

我想通过admin 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

1 个答案:

答案 0 :(得分:1)

目前尚无从api正式进行此操作的方法,也许将来还会有