Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
O Azure Container Apps em Kubernetes com Azure Arc permite executar cargas de trabalho do Container Apps em infraestruturas Kubernetes suportadas fora dos datacenters do Azure, incluindo o AKS no Azure Local. Geres as aplicações como recursos do Azure enquanto os contentores das aplicações e o plano de dados das Aplicações do Container correm no teu cluster Kubernetes.
Executar Aplicações Container no Azure Arc pode ajudá-lo:
- Execute aplicações próximas de utilizadores, dispositivos ou fontes de dados locais para reduzir a latência.
- Mantenha o processamento das candidaturas num local que suporte os requisitos de residência de dados, soberania ou conformidade da sua organização.
- Dar às equipas de aplicação um modelo de aplicações Container Apps, enquanto as equipas de infraestrutura mantêm o controlo do cluster Kubernetes, rede, armazenamento, capacidade e ciclo de vida.
- Gere aplicações em diferentes locais suportados através do Azure Resource Manager, CLI do Azure e do portal Azure.
- Utilize as funcionalidades suportadas das Aplicações de Contentor, como revisões, ingress, dimensionamento automático, Dapr, tarefas, métricas, transmissão de registos, domínios personalizados e acesso à consola da aplicação.
O Container Apps no Azure Arc não é um serviço de computação alojado. A sua organização fornece, protege, escala, corrige e opera o cluster Kubernetes subjacente e os seus recursos de computação, redes e armazenamento.
Para preparar um cluster e implementar a sua primeira aplicação, complete Configurar um cluster Kubernetes compatível com Azure Arc para executar Azure Container Apps, e depois concluir Criar uma aplicação container no Azure Arc.
Ao configurar o seu cluster, cria ou utiliza estes recursos:
Cluster conectado: A representação do Azure Resource Manager do seu cluster Kubernetes. Os agentes Azure Arc a correr no cluster mantêm a ligação ao Azure. Para obter mais informações, consulte 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, escalabilidade, 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 de Aplicações em Contentores: O limite aplicacional no qual os programadores implementam aplicações em contentores e tarefas. O ambiente ligado refere-se à localização personalizada e contém a configuração partilhada pelas suas aplicações.
A ordem de dependência é: cluster ligado > extensão do cluster > localização personalizada > ambiente ligado > aplicação de contentor ou tarefa. Se um recurso anterior for pouco saudável, recursos posteriores na cadeia podem falhar em provisionamento.
Limitações
As seguintes limitações aplicam-se ao Azure Container Apps no Azure Arc-enabled Kubernetes.
| Limitação | Detalhes |
|---|---|
| Regiões do Azure suportadas | Austrália Este, 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 conectividade de cluster | Deve suportar o tipo de serviço LoadBalancer |
| Requisito do SO do nó | Apenas Linux . |
| Funcionalidade: Identidades geridas | Não disponível |
| Recurso: Extrair imagens do ACR com identidade gerenciada | Não disponível (depende de identidades gerenciadas) |
| Funcionalidade: Ficheiros do Azure | O driver SMB (>= v1.18.0) deve ser instalado antes de usar o armazenamento SMB do Ficheiros do Azure |
| Registos | O Log Analytics deve ser configurado com extensão de cluster; não por aplicação |
Os seguintes recursos são suportados:
- Rótulos / Etiquetas
- Métricas
- Autenticação fácil
- Fluxo de log
- Resiliência
- Domínios personalizados
- Trabalhos de Aplicativos de contêiner
- Gestão de revisões
- 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 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 Container Apps
Quando a extensão Container Apps é 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 Microsoft.App provedor de recursos para dar suporte ao gerenciamento e à operação de seus aplicativos.
A extensão pode instalar os componentes KEDA usados para escalabilidade orientada por eventos e HTTP. Apenas uma instalação KEDA suportada pode correr no cluster. Antes da instalação, corra kubectl get deployment -A | grep -i keda para verificar se existe uma instalação existente. Se o KEDA já existir, pare e confirme a configuração de coexistência suportada antes de continuar. Não removas a instalação KEDA existente nem apliques definições de extensão não documentadas porque outras tarefas podem depender disso.
A tabela seguinte descreve o papel de cada componente de extensão criado para si:
| Cápsula | Descrição | Número de instâncias | CPU | Memória | Tipo |
|---|---|---|---|---|---|
<extensionName>-k8se-activator |
Usado como parte do fluxo de trabalho de dimensionamento | 2 | 100 miliCPU | 500 MB | Conjunto de réplicas |
<extensionName>-k8se-billing |
Geração de registos de faturamento | 3 | 100 miliCPU | 100 MB | Conjunto de réplicas |
<extensionName>-k8se-containerapp-controller |
O pod do operador principal que cria recursos no cluster e mantém o estado dos componentes. | 2 | 100 miliCPU | 1 GB | Conjunto de réplicas |
<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 | Conjunto de réplicas |
<extensionName>-k8se-envoy-controller |
Operador, que gera a configuração do Envoy | 2 | 200 milicpu | 500 MB | Conjunto de réplicas |
<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 | Conjunto de réplicas |
<extensionName>-k8se-http-scaler |
Monitora o volume de solicitações de entrada para fornecer informações de dimensionamento ao KEDA. | 1 | 100 miliCPU | 500 MB | Conjunto de réplicas |
<extensionName>-k8se-keda-cosmosdb-scaler |
Escalador KEDA Cosmos DB | 1 | 10 metros | 128 MB | Conjunto de réplicas |
<extensionName>-k8se-keda-metrics-apiserver |
Servidor de métricas KEDA | 1 | 1 Núcleo | 1.000 MB | Conjunto de réplicas |
<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 | Conjunto de réplicas |
<extensionName>-k8se-log-processor |
Reúne logs de aplicativos e outros componentes e os envia para o Log Analytics. | 2 | 200 milicpu | 500 MB | DaemonSet |
<extensionName>-k8se-mdm |
Agente de métricas e logs | 2 | 500 milicpu | 500 MB | Conjunto de réplicas |
| dapr-métricas | Pod de métricas Dapr | 1 | 100 miliCPU | 500 MB | Conjunto de réplicas |
| Operador de DAPR | Gerencia atualizações de componentes e pontos de extremidade de serviço para Dapr | 1 | 100 miliCPU | 500 MB | Conjunto de réplicas |
| dapr-placement-server | Usado apenas para atores - cria tabelas de mapeamento que mapeiam instâncias de atores para pods | 1 | 100 miliCPU | 500 MB | StatefulSet |
| dapr-sentinela | Gerencia mTLS entre serviços e atua como uma autoridade de certificação | 2 | 800 miliCPU | 200 MB | Conjunto de réplicas |
Perguntas frequentes sobre aplicativos de contêiner do Azure no Azure Arc
- Aplicativos de contêiner do Azure no Azure Arc
Quais recursos de aplicativos de contêiner são suportados?
Para o estado documentado de suporte e os pré-requisitos de cada funcionalidade, veja Limitações. O portal Azure também desativa controlos que não estão disponíveis num ambiente conectado. O suporte pode depender da versão instalada da extensão, por isso verifique as notas de lançamento da extensão antes de usar uma funcionalidade adicionada recentemente.
As identidades gerenciadas são suportadas?
Não. Não podes atribuir uma identidade gerida a uma aplicação de contentor ou a um trabalho num ambiente conectado. A autenticação de identidade gerida para pulls de imagens do Azure Container Registry também não está disponível.
Se uma aplicação tiver de autenticar-se num recurso Azure, utilize um principal de aplicação e serviço Microsoft Entra:
- Crie ou identifique um registo de candidatura.
- Atribua ao respetivo principal de serviço apenas a função do Azure necessária pela aplicação.
- Guarde a credencial como um segredo das Apps do Container.
- Referenciar o segredo através de variáveis de ambiente na aplicação.
- Estabeleça um processo de rotação de credenciais.
Para obter mais informações, consulte Objetos principais de aplicativo e serviço no Microsoft Entra ID. Evite incorporar credenciais num repositório de imagens ou fontes.
Existem limites de escala?
As aplicações em contentores e as tarefas só podem escalar até ao limite dos recursos alocáveis de CPU, memória e recursos especializados 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 o número de réplicas solicitado. Verifique esta 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
Planeie a capacidade do cluster tendo em conta os componentes de extensão, o número máximo de réplicas da aplicação, as cargas de trabalho do sistema Kubernetes, as atualizações progressivas e as falhas de nós.
Quais logs são coletados?
Os logs para os componentes do sistema e seus aplicativos são gravados na saída padrão.
Ambos os tipos de registo podem ser recolhidos para análise com as ferramentas padrão do Kubernetes. Você também pode configurar a extensão de cluster do ambiente do aplicativo com um espaço de trabalho do Log Analytics, enviando todos os logs para esse espaço de trabalho.
Por predefinição, os registos dos componentes do sistema são enviados para a equipa do Azure. Os logs do aplicativo não são enviados. Pode evitar que estes registos sejam transferidos ao definir logProcessor.enabled=false como definição de configuração da extensão. Essa definição de configuração desabilita o encaminhamento do aplicativo para o espaço de trabalho do Log Analytics. A desativação do processador de log pode afetar o tempo necessário para quaisquer casos 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 seguinte comando Helm. Para obter métodos de instalação adicionais, consulte Instalar driver em um cluster 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 suporta apenas a instalação em nós Linux.
Posso implementar a extensão Container Apps num 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 Azure Container Apps
- Criar um aplicativo de contêiner no Azure Arc
- Resolver problemas de Azure Container Apps no Azure Arc-enabled Kubernetes
- Visão geral do Azure Arc para Kubernetes
- Localizações personalizadas no Kubernetes com Azure Arc
- Extensões de cluster no Kubernetes com Azure Arc
-
az containerapp arcReferência CLI - Notas de versão da extensão Azure Container Apps