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 é 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, você deve obter uma resposta da CLI do Azure indicando que a implantaçã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! Você implantou com êxito um aplicativo em execução em um contêiner do Docker no 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 seguinte saída
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
. Você deve ver uma saída semelhante ao exemplo a seguir:
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 contêiner foi excluído, 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.