Compartilhar via


Tutorial: Implantar um contêiner Spot com Instâncias de Contêiner do Azure usando a CLI do Azure (Versão Preliminar)

Os Contêineres Spot combinam a simplicidade da ACI com o baixo custo das VMs Spot, tornando fácil e acessível para os clientes a execução de cargas de trabalho ininterruptas 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 em contêineres ininterruptas na capacidade não utilizada do Azure a baixo custo e não precisar de uma plataforma completa de orquestração de contêiner, como o Serviço de Kubernetes do Azure.

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

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

Criar um grupo de recursos

Instâncias de Contêiner do Azure, assim como todos os recursos do Azure, precisam ser implantadas em um grupo de recursos. Os grupos de recursos facilitam organizar e gerenciar os recursos relacionados ao Azure.

Primeiramente, crie um grupo de recursos denominado myResourceGroup no local do westus com o seguinte comando az group create:

az group create --name myResourceGroup --location westus

Criar um contêiner

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, um nome da instância de contêiner, uma imagem de contêiner e uma nova propriedade denominada ‘priority’ com o valo ‘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 no Node.js que veicula a 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ê implementa um contêiner usando a imagem helloworld sem um rótulo de nome DNS. Ele não estará acessível ao público. Você pode consultar os logs do contêiner para verificar se ele está escutando na porta padrão 80.

Execute um comando similar 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

Em poucos segundos, você obterá uma resposta da CLI do Azure indicando que a implantação terminou. Verifique o status dele usando o comando az container show:

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

Ao executar o comando, o FQDN (nome de domínio totalmente qualificado) do contêiner e o estado de provisionamento dele são exibidos.

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

Se o ProvisioningState do contêiner for Bem-sucedido, parabéns! Você conseguiu implantar com sucesso um aplicativo que está em execução em um contêiner do Docker no Azure.

Acessar os logs de contêiner

Quando você precisar solucionar problemas de um contêiner ou do aplicativo que ele executa (ou apenas ver a saída dele), comece exibindo os logs da instância de contêiner.

Efetue pull nos logs da instância de contêiner com o comando az container logs:

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

A saída exibe os logs do contêiner e deve mostrar a saída a seguir

listening on port 80

Anexar fluxos de saída

Além de exibir os logs, é possível anexar a saída padrão local e os fluxos de erro padrão aos do contêiner.

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

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

Depois de anexado, atualize seu navegador algumas vezes para gerar mais resultados. Quando terminar, desanexe o console com Control+C. Você deverá ver uma saída semelhante ao seguinte exemplo:

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

Limpar os recursos

Quando você conclui o contêiner, remova-o usando 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. Se você não tiver outros contêineres no grupo de recursos, não será exibida nenhuma saída.

Se você tiver terminado de usar 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óximas etapas

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.