Implementar grupos de contêineres
O recurso de nível superior nas Instâncias de Contêiner do Azure é o grupo de contêineres. Um grupo de contêineres é uma coleção de contêineres que são agendados na mesma máquina host. Os contêineres compartilham um ciclo de vida, recursos, rede local e volumes de armazenamento.
Coisas a saber sobre grupos de contentores
Vamos analisar alguns detalhes sobre grupos de contêineres para Instâncias de Contêiner do Azure.
Um grupo de contêineres é semelhante a um pod no Kubernetes. Um pod normalmente tem um mapeamento 1:1 com um contêiner, mas um pod pode conter vários contêineres. Os contêineres em um pod de vários contêineres podem compartilhar recursos relacionados.
As Instâncias de Contêiner do Azure alocam recursos a um grupo de vários contêineres adicionando as solicitações de recursos de todos os contêineres do grupo. Os recursos podem incluir itens como CPUs, memória e GPUs.
Considere um grupo de contêineres que tenha dois contêineres que exijam recursos da CPU. Cada contêiner solicita uma CPU. As Instâncias de Contêiner do Azure alocam duas CPUs para o grupo de contêineres.
Há duas maneiras comuns de implantar um grupo de vários contêineres: modelos do Azure Resource Manager (ARM) e arquivos YAML.
Modelo ARM. Um modelo ARM é recomendado para implantar outros recursos de serviço do Azure quando você implanta suas instâncias de contêiner, como um compartilhamento de arquivos do Azure Files.
YAML arquivo. Devido à natureza concisa do formato YAML, um arquivo YAML é recomendado quando sua implantação inclui apenas instâncias de contêiner.
Os grupos de contêineres podem compartilhar um endereço IP externo, uma ou mais portas no endereço IP e um rótulo DNS com um FQDN.
Acesso de cliente externo. Você deve expor a porta no endereço IP e do contêiner para permitir que clientes externos alcancem um contêiner em seu grupo.
Mapeamento de portas. O mapeamento de portas não é suportado porque os contêineres em um grupo compartilham um namespace de porta.
Grupos excluídos. Quando um grupo de contêineres é excluído, seu endereço IP e FQDN são liberados.
Exemplo de configuração
Considere o exemplo a seguir de um grupo de vários contêineres com dois contêineres.
O grupo de vários contêineres tem as seguintes características e configuração:
- O grupo de contêineres é agendado em uma única máquina host e recebe um rótulo de nome DNS.
- O grupo de contêineres expõe um único endereço IP público com uma porta exposta.
- Um contentor do grupo ouve na porta 80. O outro contentor ouve no porto 1433.
- O grupo inclui dois compartilhamentos de arquivos do Azure Files como montagens de volume. Cada contêiner no grupo monta um dos compartilhamentos de arquivos localmente.
Coisas a considerar ao usar grupos de contêineres
Os grupos de vários contêineres são úteis quando você deseja dividir uma única tarefa funcional em algumas imagens de contêiner. Equipes diferentes podem entregar as imagens, e as imagens podem ter requisitos de recursos separados.
Considere os seguintes cenários para trabalhar com grupos de vários contêineres. Pense nas opções que podem suportar as suas aplicações internas para o retalhista online.
Considere atualizações de aplicativos Web. Ofereça suporte a atualizações para seus aplicativos Web implementando um grupo de vários contêineres. Um contêiner no grupo serve o aplicativo Web e outro contêiner extrai o conteúdo mais recente do controle do código-fonte.
Considere a coleta de dados de log. Use um grupo de vários contêineres para capturar dados de log e métricas sobre seu aplicativo. O contêiner do aplicativo gera logs e métricas. Um contêiner de registro coleta os dados de saída e grava os dados no armazenamento de longo prazo.
Considere o monitoramento de aplicativos. Habilite o monitoramento para seu aplicativo com um grupo de vários contêineres. Um contêiner de monitoramento periodicamente faz uma solicitação ao contêiner do aplicativo para garantir que o aplicativo esteja sendo executado e respondendo corretamente. O contêiner de monitoramento gera um alerta se identificar possíveis problemas com seu aplicativo.
Considere o suporte front-end e back-end. Crie um grupo de vários contêineres para armazenar seu contêiner front-end e contêiner back-end. O contêiner front-end pode servir um aplicativo Web. O contêiner back-end pode executar um serviço para recuperar dados.