Partilhar via


Tutorial: Implantar um contêiner spot com instâncias de contêiner do Azure usando a CLI do Azure (visualização)

Os contêineres spot combinam a simplicidade do ACI com o baixo custo das VMs spot, tornando fácil e acessível para os clientes executar cargas de trabalho interruptíveis em contêineres em escala. Use as Instâncias de Contêiner do Azure para executar contêineres Spot sem servidor. Implante um aplicativo em um contêiner spot sob demanda quando quiser executar cargas de trabalho interruptíveis e em contêineres na capacidade não utilizada do Azure a baixo custo e não precisar de uma plataforma de orquestração de contêiner completa, como o Serviço Kubernetes do Azure.

Neste início rápido, você usa a CLI do Azure para implantar um contêiner helloworld usando contêineres Spot. Alguns segundos depois de executar um único comando de implantação, você pode navegar até os logs de contêiner:

  • Este início rápido requer a versão 2xxx posterior da CLI do Azure. Se estiver usando o Azure Cloud Shell, a versão mais recente já está instalada.

Criar um grupo de recursos

O Azure Container Instances, como todos os recursos do Azure, tem de ser implementados num grupo de recursos. Os grupos de recursos permitem organizar e gerir recursos relacionados do Azure.

Primeiro, crie um grupo de recursos chamado myResourceGroup no local westus com o seguinte comando az group create:

az group create --name myResourceGroup --location westus

Criar um contentor

Agora que você tem um grupo de recursos, pode executar um contêiner Spot no Azure. Para criar um grupo de contêineres Spot com a CLI do Azure, forneça um nome de grupo de recursos, nome de instância de contêiner, imagem de contêiner e nova propriedade chamada 'priority' com valor de 'Spot' para o comando az container create . Neste início rápido, você usa a imagem pública mcr.microsoft.com/azuredocs/aci-helloworld . Esta imagem empacota um pequeno aplicativo Web escrito em Node.js que serve uma página HTML estática.

Não é possível expor seus contêineres spot à Internet especificando uma ou mais portas a serem abertas, um rótulo de nome DNS ou ambos. Neste início rápido, você implanta um contêiner usando a imagem helloworld sem um rótulo de nome DNS. Não será acessível publicamente. Você pode consultar os logs do contêiner para verificar se o contêiner está escutando na porta padrão 80.

Execute um comando semelhante ao seguinte para iniciar uma instância de contêiner.

az container create --resource-group acispotdemo --name acispotclitest --image mcr.microsoft.com/azuredocs/aci-helloworld --priority spot

Dentro de alguns segundos, deverá receber uma resposta da CLI do Azure que indica que a implementação foi concluída. Verifique o respetivo estado com o comando az container show:

az container show --resource-group acispotdemo --name acispotclitest --query "{ProvisioningState:provisioningState}" --out table

Ao executar o comando, são apresentados o nome de domínio completamente qualificado (FQDN) e o estado de aprovisionamento do contentor.

ContainerGroupName                               ProvisioningState
---------------------------------  -------------------
acispotclitest                        Succeeded

Se o contentor for ProvisioningState Bem sucedido, parabéns! Implementou com êxito uma aplicação em execução num contentor de Docker para Azure.

Extrair os registos de contentor

Quando precisar de resolver problemas de um contentor ou da aplicação nele executada (ou apenas ver o respetivo resultado), comece por visualizar os registos da instância de contentor.

Extraia os registos da instância de contentor com o comando az container logs:

az container logs --resource-group acispotdemo --name acispotclitest

A saída exibe os logs para o contêiner e deve mostrar a saída abaixo

listening on port 80

Anexar fluxos de saída

Além de visualizar os registos, pode anexar o padrão local e os fluxos de erro padrão para o do contentor.

Primeiro, execute o comando az container attach para conectar seu console local aos fluxos de saída do contêiner:

az container attach --resource-group acispotdemo --name acispotclitest

Uma vez conectado, atualize seu navegador algumas vezes para gerar mais saída. Quando tiver terminado, desligue a consola com Control+C. Deverá ver um resultado semelhante ao seguinte:

Container 'acispotclitest' is in state 'Running'...
Start streaming logs:
listening on port 80

Clean up resources (Limpar recursos)

Quando já não precisar do contentor, remova-o com o comando az container delete:

az container delete --resource-group acispotdemo --name acispotclitest

Para verificar se o contentor foi eliminado, execute o comando az container list:

az container list --resource-group acispotdemo --output table

O contêiner acispotclitest não deve aparecer na saída do comando. Não se tiver outros contentores no grupo de recursos, não é apresentada nenhuma saída.

Se você tiver terminado com o grupo de recursos acispotdemo e todos os recursos que ele contém, exclua-o com o comando az group delete :

az group delete --name acispotdemo

Próximos passos

Neste tutorial, você criou um contêiner spot em instâncias de contêiner do Azure com uma cota padrão e uma política de remoção usando a CLI do Azure.