O que é o Azure Container Instances?
Os contentores estão a tornar-se na forma preferida de empacotar, implementar e gerir aplicações na cloud. O Azure Container Instances é a forma mais rápida e simples de executar um contentor no Azure, sem que tenha de gerir máquinas virtuais e sem que tenha de adotar um serviço de nível superior.
O Azure Container Instances é uma ótima solução para qualquer cenário que possa funcionar em contentores isolados, incluindo aplicações simples, automatização de tarefas e tarefas de compilação. Para cenários em que precisa de orquestração completa de contentores, incluindo a deteção de serviços em vários contentores, dimensionamento automático e atualizações coordenadas de aplicações, recomendamos Azure Kubernetes Service (AKS). Recomendamos que leia as considerações e limitações e as FAQs para compreender as melhores práticas ao implementar instâncias de contentor.
Tempos de arranque rápidos
Os contentores oferecem benefícios de arranque significativos em relação às máquinas virtuais (VMs). Com o Azure Container Instances, pode iniciar contentores no Azure em segundos, sem ter de aprovisionar e gerir VMs.
Traga imagens de contentor do Linux ou do Windows de Docker Hub, um registo de contentor privado do Azure ou outro registo docker baseado na cloud. Visite as FAQ para saber que registos são suportados pelo ACI. Azure Container Instances coloca em cache várias imagens comuns do SO base, ajudando a acelerar a implementação das imagens personalizadas da aplicação.
Acesso ao contentor
Azure Container Instances permite expor os grupos de contentores diretamente à Internet com um endereço IP e um nome de domínio completamente qualificado (FQDN). Quando cria uma instância de contentor, pode especificar uma etiqueta de nome DNS personalizada para que a aplicação esteja acessível em customlabel.azureregion.azurecontainer.io.
Azure Container Instances também suporta a execução de um comando num contentor em execução ao fornecer uma shell interativa para ajudar no desenvolvimento e resolução de problemas de aplicações. O Access utiliza o TLS para proteger as ligações de cliente através de HTTPS.
Importante
A partir de 13 de janeiro de 2020, Azure Container Instances exigirá que todas as ligações seguras de servidores e aplicações utilizem o TLS 1.2. O suporte para O TLS 1.0 e 1.1 será descontinuado.
Implementações conformes
Segurança ao nível do hipervisor
Historicamente, os contentores têm vindo a oferecer isolamento de dependências de aplicações e governação de recursos, mas não têm sido considerados suficientemente fortalecidos para utilização multi-inquilinos hostil. O Azure Container Instances garante que a sua aplicação está tão isolada num contentor como estaria numa VM.
Dados do cliente
O serviço ACI armazena os dados mínimos de clientes necessários para garantir que os grupos de contentores estão em execução conforme esperado. Atualmente, o armazenamento de dados de clientes numa única região só está disponível na Região Sudeste Asiático (Singapura) da Região Geográfica do Pacífico Asiático e Sul do Brasil (Estado de São Paulo) da Região Geográfica do Brasil. Para todas as outras regiões, os dados do cliente são armazenados em Geo. Entre em contacto com o Suporte do Azure para saber mais.
Tamanhos personalizados
Normalmente, os contentores são otimizados para executarem apenas uma única aplicação, mas as necessidades exatas de cada uma dessas aplicações podem ser bastante diferentes. O Azure Container Instances proporciona uma utilização ideal ao permitir especificações exatas de núcleos de CPU e memória. A faturação é ao segundo e consoante o que precisar, para que possa ajustar os gastos com base nas suas necessidades reais.
Para trabalhos de computação intensiva, como machine learning, Azure Container Instances podem agendar contentores do Linux para utilizar recursos de GPU da Tesla NVIDIA (pré-visualização).
Armazenamento persistente
Para obter e manter o estado com Azure Container Instances, oferecemos a montagem direta de Ficheiros do Azure partilhas apoiadas pelo Armazenamento do Azure.
Contentores de Linux e Windows
O Azure Container Instances permite agendar contentores do Windows e do Linux com a mesma API. Basta especificar o tipo de SO quando cria os grupos de contentor.
Algumas funcionalidades estão atualmente restritas a contentores do Linux:
- Vários contentores por grupo de contentores
- Montagem de volume (Ficheiros do Azure, emptyDir, GitRepo, secret)
- Métricas de utilização de recursos com o Azure Monitor
- Implementação de rede virtual
- Recursos de GPU (pré-visualização)
Para implementações de contentores do Windows, utilize imagens com base em imagens de base comuns do Windows.
Grupos agendados conjuntamente
O Azure Container Instances suporta o agendamento de grupos de vários contentores que partilhem um computador anfitrião, a rede local, o armazenamento e o ciclo de vida. Desta forma, pode combinar o contentor da aplicação principal com outros contentores que têm um papel secundário, tais como sidecars de registo.
Implementação de rede virtual
Azure Container Instances permite a implementação de instâncias de contentor numa rede virtual do Azure. Quando implementadas numa sub-rede na sua rede virtual, as instâncias de contentor podem comunicar de forma segura com outros recursos na rede virtual, incluindo os que estão no local (através do gateway de VPN ou do ExpressRoute).
Implementação de contentor confidencial
Os contentores confidenciais no ACI permitem-lhe executar contentores num ambiente de execução fidedigno (TEE) que fornece proteções de confidencialidade e integridade baseadas em hardware para as cargas de trabalho de contentor. Os contentores confidenciais no ACI podem proteger os dados em utilização e encriptar os dados que estão a ser processados na memória. Os Contentores Confidenciais no ACI são suportados como um SKU que pode selecionar ao implementar a carga de trabalho. Para obter mais informações, veja grupos de contentores confidenciais.
Considerações
Existem limites predefinidos que requerem aumentos de quota. Nem todos os aumentos de quota podem ser aprovados: Limites de quota de disponibilidade & de recursos para a ACI - Azure Container Instances | Microsoft Learn
Se o grupo de contentores deixar de funcionar, sugerimos que tente reiniciar o contentor, verificar o código da aplicação ou a configuração da rede local antes de abrir um pedido de suporte.
As Imagens de Contentor não podem ter mais de 15 GB, as imagens acima deste tamanho podem causar um comportamento inesperado: Quão grande pode ser a minha imagem de contentor?
Algumas imagens base do Windows Server já não são compatíveis com Azure Container Instances:
Que imagens do SO base do Windows são suportadas?
Se um grupo de contentores reiniciar, o IP do grupo de contentores poderá ser alterado. Recomendamos que não utilize um endereço IP codificado no seu cenário. Se precisar de um endereço IP público estático, utilize Gateway de Aplicação: Endereço IP estático para o grupo de contentores - Azure Container Instances | Microsoft Learn
Existem portas reservadas para a funcionalidade de serviço. Recomendamos que não utilize estas portas, uma vez que isto irá originar um comportamento inesperado: o serviço ACI reserva portas para a funcionalidade de serviço?
Se estiver a ter problemas ao implementar ou executar o contentor, verifique primeiro o Guia de Resolução de Problemas relativamente a erros e problemas comuns
Os grupos de contentores podem ser reiniciados devido a eventos de manutenção da plataforma. Estes eventos de manutenção são realizados para garantir a melhoria contínua da infraestrutura subjacente: O contentor teve um reinício isolado sem introdução explícita do utilizador
O ACI não permite operações de contentores com privilégios. Recomendamos que não dependa da utilização do diretório de raiz para o seu cenário
Passos seguintes
Experimente implementar um contentor no Azure com um único comando através do nosso guia de início rápido: