O que são as Instâncias de Contêiner do Azure?
Os contêineres estão se tornando o modo preferido para empacotar, implantar e gerenciar aplicativos de nuvem. As Instâncias de Contêiner do Azure oferecem a maneira mais rápida e simples para executar um contêiner no Azure, sem a necessidade de gerenciar máquinas virtuais nem adotar um serviço de nível superior.
A ACI dá suporte a contêineres regulares, confidenciais e Spot. A ACI pode ser usada como uma instância única ou várias instâncias por meio de NGroups, ou você pode obter recursos de orquestração ao implantar pods no seu cluster do Serviço de Kubernetes do Azure (AKS) por meio de nós virtuais na ACI.
Inicialização mais rápida
Os contêineres oferecem vantagens significativas de inicialização em relação às VMs (máquinas virtuais). As Instâncias de Contêiner do Azure podem iniciar contêineres no Azure em segundos, sem a necessidade de provisionar nem gerenciar VMs.
Traga imagens de contêiner do Linux ou do Windows do Docker Hub, de um registro de contêiner privado do Azure, ou de outro registro do Docker baseado em nuvem. Confira as perguntas frequentes para saber a quais registros a ACI dá suporte. As Instâncias de Contêiner do Azure armazenam em cache várias imagens de SO base comuns, ajudando a acelerar a implantação de suas imagens de aplicativo personalizadas.
Acesso ao contêiner
As Instâncias de Contêiner do Azure permitem expor seus grupos de contêineres diretamente à Internet com um endereço IP e um FQDN (nome de domínio totalmente qualificado). Quando você cria uma instância de contêiner, pode especificar uma etiqueta de nome de DNS personalizado para que o seu aplicativo seja acessível em customlabel.azureregion.azurecontainer.io.
As Instâncias de Contêiner do Azure também são compatíveis com a execução de um comando em um contêiner em execução, fornecendo um shell interativo para ajudar no desenvolvimento e na solução de problemas de aplicativos. O acesso ocorre por HTTPS, usando TLS para proteger conexões de cliente.
Importante
As Instâncias de Contêiner do Azure requerem que todas as conexões seguras de servidores e aplicativos usem o TLS 1.2. O suporte para TLS 1.0 e 1.1 foi desativado.
Implantações em conformidade
Segurança em nível de hipervisor
Historicamente, os contêineres ofereciam isolamento de dependência de aplicativos e governança de recursos, mas eram insuficientemente protegidos para uso hostil em ambientes multilocatário. As Instâncias de Contêiner do Azure garantem que seu aplicativo fique tão isolado em um contêiner quanto ficaria em uma VM.
Dados do cliente
O serviço Instâncias de Contêiner do Azure não armazena os dados do cliente. No entanto, armazena as IDs de assinatura da assinatura do Azure usadas para criar recursos. O armazenamento das IDs de assinatura é necessário para garantir que os grupos de contêineres continuem em execução conforme o esperado.
Tamanhos personalizados
Os contêineres normalmente são otimizados para executar apenas um único aplicativo, mas as necessidades exatas desses aplicativos podem variar significativamente. As Instâncias de Contêiner do Azure fornecem uma utilização ideal ao permitirem especificações exatas de núcleos e memória da CPU. Você paga com base no que precisar e é cobrado por segundo, assim, é possível ajustar seus gastos eficientemente com base em suas necessidades reais.
Para trabalhos de computação intensiva, como o aprendizado de máquina, as Instâncias de Contêiner do Azure podem agendar contêineres do Linux para usar os recursos da GPU da NVIDIA Tesla (versão prévia).
Armazenamento persistente
Para recuperar e persistir estados com as Instâncias de Contêiner do Azure, nós oferecemos a montagem direta de compartilhamentos de Arquivos do Azure apoiada pelo Armazenamento do Azure.
Contêineres do Windows e do Linux
As Instâncias de Contêiner do Azure podem agendar contêineres do Windows e do Linux com a mesma API. Você pode especificar sua preferência de tipo de sistema operacional ao criar seus grupos de contêineres.
Alguns recursos estão restritos a contêineres Linux:
- Vários contêineres por grupo de contêineres
- Montagem de volume (Arquivos do Azure, emptyDir, GitRepo, segredo)
- Métricas de uso do recurso com o Azure Monitor
- Recursos da GPU (versão prévia)
Para implantações de contêiner do Windows, use imagens baseadas em imagens base do Windows comuns.
Executar vários contêineres em um único grupo de contêineres
As Instâncias de Contêiner do Azure dão suporte ao agendamento de vários contêineres dentro de um único grupo de contêineres que compartilham o mesmo host de contêiner, rede local, armazenamento e ciclo de vida. Isso permite que você combine seu aplicativo principal com outros contêineres com função de suporte, como sidecars de log.
Implantação da rede virtual
As Instâncias de Contêiner do Azure permitem a implantação de instâncias de contêiner em uma rede virtual do Azure. Quando implantadas em uma sub-rede dentro de sua rede virtual, as instâncias de contêiner podem se comunicar com segurança com outros recursos na rede virtual, incluindo os que são locais (por meio do gateway de VPN ou do ExpressRoute).
Suporte a zonas de disponibilidade
As Instâncias de Contêiner do Azure dão suporte a implantações de grupo de contêineres zonais, o que significa que a instância está fixada em uma zona de disponibilidade específica e selecionada automaticamente. A zona de disponibilidade pode ser especificada por grupo de contêineres.
Identidade gerenciada
As Instâncias de Contêiner do Azure dão suporte ao uso de identidade gerenciada com seu grupo de contêineres, o que permite que seu grupo de contêineres se autentique em qualquer serviço que dê suporte à autenticação do Microsoft Entra sem gerenciar credenciais no seu código do contêiner.
Pull de imagem autenticada de identidade gerenciada
As Instâncias de Contêiner do Azure podem se autenticar em uma instância do Registro de Contêiner do Azure (ACR) usando uma identidade gerenciada, o que permite que você efetue pull da imagem sem precisar incluir um nome de usuário e senha diretamente na definição do seu grupo de contêineres.
Implantação de contêiner confidencial
Os contêineres confidenciais na ACI permitem executar contêineres em um ambiente de execução confiável (TEE) que fornece proteções de confidencialidade e integridade baseadas em hardware para suas cargas de trabalho de contêineres. Contêineres confidenciais na ACI podem proteger dados em uso e criptografar dados que estão sendo processados na memória. Os contêineres confidenciais na ACI são suportados como uma SKU que você pode selecionar ao implantar sua carga de trabalho. Para obter mais informações, consulte grupos de contêineres confidenciais.
Implantação de contêiner
Os contêineres Spot da ACI permitem que os clientes executem cargas de trabalho interrompíveis e em contêineres na capacidade não utilizada do Azure a preços com desconto de até 70% em comparação com contêineres de ACI de prioridade regular. Os contêineres spot da ACI podem ser precedidos quando o Azure encontra uma escassez de capacidade excedente e são adequados para cargas de trabalho sem requisitos estritos de disponibilidade. Os clientes são cobrados pela memória por segundo e pelo uso principal. Para utilizar os contêineres Spot da ACI, você pode implantar sua carga de trabalho com um sinalizador de propriedade específico indicando que deseja usar grupos de contêineres Spot e aproveitar o modelo de preços com desconto. Para obter mais informações, confira grupos de contêineres Spot.
NGroups
O NGroups fornece recursos avançados para gerenciar vários grupos de contêineres relacionados. O NGroups fornece suporte para manter um número especificado de grupos de contêineres, executar atualizações sem interrupção, implantar em várias zonas de disponibilidade, usar balanceadores de carga para entradas e implantar contêineres confidenciais. Para saber mais, confira Sobre NGroups.
Nós virtuais em Instâncias de Contêiner do Azure
Os nós virtuais em Instâncias de Contêiner do Azure permitem que você implante no seu cluster do Serviço de Kubernetes do Azure (AKS) pods que são executados como grupos de contêineres na ACI. Isso lhe permite orquestrar seus grupos de contêineres usando construtos do Kubernetes que você já conhece. Como os nós virtuais são respaldados pela infraestrutura sem servidor da ACI, você pode rapidamente escalonar sua carga de trabalho verticalmente sem precisar esperar que o dimensionador automático de cluster do Kubernetes implante nós de computação de VM.
Considerações
As credenciais do usuário passadas por meio da CLI (interface de linha de comando) são armazenadas como texto sem formatação no back-end. Armazenar credenciais em texto sem formatação é um risco de segurança. A Microsoft aconselha os clientes a armazenar credenciais de usuário em variáveis de ambiente da CLI para garantir que elas sejam criptografadas/transformadas quando armazenadas no back-end.
Se o grupo de contêineres parar de funcionar, sugerimos tentar reiniciar o contêiner, verificar o código do aplicativo ou a configuração de rede local antes de abrir uma solicitação de suporte.
As imagens de contêineres não podem ter mais de 15 GB; qualquer imagem acima desse tamanho pode causar um comportamento inesperado: Qual é o tamanho máximo da minha imagem de contêiner?
Algumas imagens base do Windows Server não são mais compatíveis com as Instâncias de Contêiner do Azure:
Quais imagens do SO base do Windows têm suporte?
Se um grupo de contêineres for reiniciado, o IP dele poderá ser alterado. Recomendamos não usar um endereço IP embutido em código em seu cenário. Se você precisar de um endereço IP público estático, use o Gateway de Aplicativo: Endereço IP estático para o grupo de contêineres – Instâncias de Contêiner do Azure | Microsoft Learn
Há portas reservadas para a funcionalidade de serviço. Recomendamos que você não use essas portas, pois isso levará a um comportamento inesperado: O serviço de ACI reserva portas para funcionalidade do serviço?
Se você tiver problemas para implantar ou executar o contêiner, primeiro verifique o Guia de solução de problemas para solucionar erros e problemas comuns
Seus grupos de contêineres podem ser reiniciados devido a eventos de manutenção da plataforma. Esses eventos de manutenção ocorrem para garantir a melhoria contínua da infraestrutura subjacente: O contêiner teve uma reinicialização isolada sem entrada explícita do usuário
A ACI não permite operações privilegiadas de contêineres. Recomendamos que você não dependa do uso do diretório raiz para o seu cenário.
Próximas etapas
Tente implantar um contêiner no Azure com um único comando usando nosso guia de início rápido: