Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Os Aplicativos de Contêiner do Azure no Kubernetes habilitado pelo Azure Arc permitem executar cargas de trabalho dos Aplicativos de Contêiner em infraestrutura do Kubernetes compatível fora dos datacenters do Azure, incluindo o AKS no Azure Local. Você gerencia as aplicações como recursos do Azure enquanto os contêineres de aplicação e o plano de dados do Container Apps rodam no seu cluster Kubernetes.
Executar Apps de Contêineres no Azure Arc pode te ajudar:
- Execute aplicações próximas a usuários, dispositivos ou fontes de dados locais para reduzir a latência.
- Mantenha o processamento das aplicações em um local que apoie os requisitos de residência de dados, soberania ou conformidade da sua organização.
- Dê às equipes de aplicação um modelo de aplicação Container Apps enquanto as equipes de infraestrutura mantêm o controle do cluster Kubernetes, rede, armazenamento, capacidade e ciclo de vida.
- Gerencie aplicações em diferentes locais suportados por meio do Azure Resource Manager, CLI do Azure e do portal Azure.
- Use os recursos com suporte do Container Apps, como revisões, ingresso, autoescalonamento, Dapr, tarefas, métricas, streaming de logs, domínios personalizados e acesso ao console do aplicativo.
Container Apps no Azure Arc não é um serviço de computação hospedado. Sua organização fornece, protege, escala, corrige e opera o cluster Kubernetes subjacente e seus recursos de computação, rede e armazenamento.
Para preparar um cluster e implantar sua primeira aplicação, complete Configure um cluster Kubernetes habilitado para Azure Arc para rodar Aplicativos de Contêiner do Azure e, em seguida, complete Criar um aplicativo de contêiner no Azure Arc.
Ao configurar seu cluster, você cria ou utiliza estes recursos:
Cluster conectado: A representação do Azure Resource Manager do seu cluster Kubernetes. Agentes do Azure Arc rodando no cluster mantêm a conexão com o Azure. Para saber mais, acesse O que é o Kubernetes habilitado para Azure Arc?.
Extensão do cluster Container Apps: Software instalado no cluster que fornece os controladores Container Apps, entrada, escalonamento, Dapr, logging e outros componentes do plano de dados. A extensão é um recurso filho do cluster conectado.
Localização personalizada: Um recurso de localização do Azure que associa o cluster conectado, a extensão Container Apps e o namespace Kubernetes onde os recursos Container Apps são criados.
Ambiente conectado dos Aplicativos de Contêiner: o escopo do aplicativo no qual os desenvolvedores implantam aplicativos de contêiner e trabalhos. O ambiente conectado faz referência à localização personalizada e contém configurações compartilhadas por suas aplicações.
A ordem de dependência é: cluster conectado > extensão de cluster > localização personalizada > ambiente conectado > aplicativo de contêiner ou trabalho. Se um recurso anterior for insalubre, recursos posteriores na cadeia podem falhar em provisionamento.
Limitações
As seguintes limitações aplicam-se ao Aplicativos de Contêiner do Azure em Azure Arc-enabled Kubernetes.
| Limitações | Detalhes |
|---|---|
| Regiões do Azure com suporte | Austrália Leste, Leste Asiático, Leste dos EUA, Norte Central dos EUA, Sudeste Asiático, Suécia Central, Reino Unido Sul, Europa Ocidental, Oeste dos EUA |
| Requisito de rede de cluster | Deve dar suporte para o tipo de serviço LoadBalancer |
| Requisitos de SO para o nó | Somente Linux. |
| Recurso: identidades gerenciadas | Não disponível |
| Recurso: extrair imagens do ACR com identidade gerenciada | Não disponível (depende das identidades gerenciadas) |
| Funcionalidade: Arquivos do Azure | O driver SMB (>= v1.18.0) deve ser instalado antes de usar o armazenamento SMB do Arquivos do Azure |
| Registros | O Log Analytics deve ser configurado com a extensão do cluster; não por aplicativo |
Há suporte para os seguintes recursos:
- Rótulos
- Métricas
- Autenticação Fácil
- Fluxo de log
- Resiliência
- Domínios personalizados
- Trabalhos dos Aplicativos de Contêiner
- Gerenciamento de revisão
- Console do contêiner do aplicativo
Importante
Antes de instalar a extensão no AKS no Azure Local, configure o HAProxy ou outro balanceador de carga suportado e configure um CoreDNS personalizado. Para configurar o CoreDNS para AKS no Azure Local, execute az containerapp arc setup-core-dns --distro AksAzureLocal. Para opções de comando, veja az containerapp arc.
Recursos criados pela extensão Aplicativos de Contêiner
Quando a extensão Aplicativos de Contêiner é instalada no cluster Kubernetes habilitado para Azure Arc, vários recursos são criados no namespace de versão especificado. Esses recursos permitem que seu cluster seja uma extensão do provedor de recursos Microsoft.App para dar suporte ao gerenciamento e à operação de seus aplicativos.
A extensão pode instalar os componentes KEDA usados para escalabilidade orientada a eventos e HTTP. Apenas uma instalação KEDA suportada pode rodar no cluster. Antes da instalação, corra kubectl get deployment -A | grep -i keda para verificar se há uma instalação existente. Se o KEDA já existir, pare e confirme a configuração de coexistência suportada antes de continuar. Não remova a instalação existente do KEDA nem aplique configurações de extensão não documentadas porque outras cargas de trabalho podem depender disso.
A tabela a seguir descreve o papel de cada componente de extensão criado para você:
| Pod | Descrição | Número de Instâncias | CPU | Memória | Tipo |
|---|---|---|---|---|---|
<extensionName>-k8se-activator |
Usada como parte do pipeline de colocação em escala | 2 | 100 milicpu | 500 MB | ReplicaSet |
<extensionName>-k8se-billing |
Geração de registro de cobrança | 3 | 100 milicpu | 100 MB | ReplicaSet |
<extensionName>-k8se-containerapp-controller |
Pod principal do operador que cria os recursos no cluster e mantém o estado dos componentes. | 2 | 100 milicpu | 1 GB | ReplicaSet |
<extensionName>-k8se-envoy |
Uma camada de proxy de front-end para todas as solicitações http do plano de dados. Ele roteia o tráfego de entrada para os aplicativos corretos. | 3 | 1 Núcleo | 1.536 MB | ReplicaSet |
<extensionName>-k8se-envoy-controller |
Operador, que gera a configuração do Envoy | 2 | 200 millicpu (unidade de milissegundos de CPU) | 500 MB | ReplicaSet |
<extensionName>-k8se-event-processor |
Um destino de roteamento alternativo para ajudar com aplicativos que foram dimensionados para zero enquanto o sistema obtém a primeira instância disponível. | 2 | 100 milicpu | 500 MB | ReplicaSet |
<extensionName>-k8se-http-scaler |
Monitora o volume de solicitação de entrada para fornecer informações de dimensionamento para o KEDA. | 1 | 100 milicpu | 500 MB | ReplicaSet |
<extensionName>-k8se-keda-cosmosdb-scaler |
Escalonador do Cosmos DB do KEDA | 1 | 10 m | 128 MB | ReplicaSet |
<extensionName>-k8se-keda-metrics-apiserver |
Servidor de métricas KEDA | 1 | 1 Núcleo | 1.000 MB | ReplicaSet |
<extensionName>-k8se-keda-operator |
Dimensiona cargas de trabalho para dentro e para fora de 0/1 a N instâncias | 1 | 100 milicpu | 500 MB | ReplicaSet |
<extensionName>-k8se-log-processor |
Coleta logs de aplicativos e outros componentes e os envia para o Log Analytics. | 2 | 200 millicpu (unidade de milissegundos de CPU) | 500 MB | DaemonSet |
<extensionName>-k8se-mdm |
Agente de Métricas e Logs | 2 | 500 milicpu | 500 MB | ReplicaSet |
| dapr-metrics | Pod de métricas Dapr | 1 | 100 milicpu | 500 MB | ReplicaSet |
| dapr-operator | Gerencia atualizações de componentes e pontos de extremidade de serviço para Dapr | 1 | 100 milicpu | 500 MB | ReplicaSet |
| dapr-placement-server | Usado somente para Atores: cria tabelas de mapeamento que mapeiam instâncias de atores para pods | 1 | 100 milicpu | 500 MB | StatefulSet |
| dapr-sentry | Gerencia o mTLS entre serviços e atua como uma CA | 2 | 800 milicpu | 200 MB | ReplicaSet |
Perguntas frequentes sobre aplicativos de contêiner do Azure no Azure Arc
- Aplicativos de Contêiner do Azure no Azure Arc
Há suporte para quais recursos de Aplicativos de Contêiner?
Para o status de suporte documentado e os pré-requisitos de cada funcionalidade, veja Limitações. O portal do Azure também desativa controles que não estão disponíveis em um ambiente conectado. O suporte pode depender da versão instalada da extensão, então verifique as notas de lançamento da extensão antes de usar um recurso recentemente adicionado.
Há suporte para identidades gerenciadas?
Não. Você não pode atribuir uma identidade gerenciada a um aplicativo de container ou a um trabalho em um ambiente conectado. A autenticação com identidade gerenciada para extração de imagens do Registro de Contêiner do Azure também não está disponível.
Se um aplicativo precisar autenticar em um recurso Azure, use um principal de aplicação e serviço Microsoft Entra:
- Crie ou identifique um registro de aplicativo.
- Conceda ao principal de serviço apenas a função do Azure necessária para o aplicativo.
- Armazene a credencial como um segredo do Container Apps.
- Consulte o segredo por meio de variáveis de ambiente na aplicação.
- Estabeleça um processo de rotação de credenciais.
Para obter mais informações, consulte os Objetos de aplicativo e entidade de serviço no Microsoft Entra ID. Evite incorporar credenciais em um repositório de imagens ou fontes.
Há limites de colocação em escala?
Aplicativos de contêiner e trabalhos só podem escalar dentro dos limites de CPU, memória e recursos especializados alocáveis disponíveis no cluster do Kubernetes subjacente. Definir um número máximo de réplicas não reserva capacidade.
Quando o cluster não tem capacidade, o Kubernetes deixa novas réplicas pendentes e a aplicação não atinge a contagem solicitada. Verifique essa condição com:
kubectl get pods -n <APPS_NAMESPACE>
kubectl describe pod <PENDING_POD_NAME> -n <APPS_NAMESPACE>
kubectl get events -n <APPS_NAMESPACE> --sort-by=.lastTimestamp
Planeje a capacidade do cluster para componentes de extensão, réplicas de aplicação de pico, cargas de trabalho do sistema Kubernetes, atualizações contínuas e falhas de nós.
Quais logs são coletados?
Os logs para os componentes do sistema e os aplicativos são gravados na saída padrão.
Ambos os tipos de log podem ser coletados para análise usando ferramentas padrão do Kubernetes. Você também pode configurar a extensão do cluster do ambiente do aplicativo com um workspace do Log Analytics, e ele enviará todos os logs para esse espaço de trabalho.
Por padrão, os logs dos componentes do sistema são enviados para a equipe do Azure. Os logs do aplicativo não são enviados. Você pode impedir que esses logs são transferidos definindo logProcessor.enabled=false como uma definição de configuração de extensão. Essa definição de configuração desativa o encaminhamento de aplicativos para o workspace do Log Analytics. Desabilitar o processador de logs pode afetar o tempo necessário para qualquer caso de suporte e você será solicitado a coletar logs da saída padrão por outros meios.
Como posso instalar o Driver SMB?
Você pode instalar o driver SMB usando o comando Helm a seguir. Para obter métodos de instalação adicionais, consulte Instalar driver em um cluster do Kubernetes.
helm repo add csi-driver-smb https://raw.githubusercontent.com/kubernetes-csi/csi-driver-smb/master/charts
helm install csi-driver-smb csi-driver-smb/csi-driver-smb --namespace kube-system --version v1.18.0
A extensão pode ser instalada em nós do Windows?
Não, a extensão não pode ser instalada em nós do Windows. A extensão oferece suporte apenas para instalação em nós do Linux.
Posso implantar a extensão Container Apps em um cluster baseado em Arm64?
Não. A extensão não suporta clusters baseados em Arm64.
Conteúdo relacionado
- Configurar um cluster Kubernetes habilitado para Azure Arc para executar Aplicativos de Contêiner do Azure
- Criar um aplicativo de contêiner no Azure Arc
- Solucionar problemas do Aplicativos de Contêiner do Azure no Kubernetes habilitado para Azure Arc
- Visão geral do Azure Arc-enabled Kubernetes
- Localizações personalizadas no Kubernetes habilitado para Azure Arc
- Extensões de cluster em Kubernetes habilitado pelo Azure Arc
-
az containerapp arcReferência da CLI - Notas de versão de extensão dos Aplicativos de Contêiner do Azure