Partilhar via


Aplicativos de contêiner do Azure no Azure Arc

Você pode executar Aplicativos de Contêiner em um AKS habilitado para Azure Arc ou AKS no cluster Local do Azure.

A execução em um cluster Kubernetes habilitado para Azure Arc permite:

  • Os desenvolvedores podem aproveitar os recursos do Container Apps
  • Administradores de TI mantêm a conformidade corporativa hospedando apps de contêiner na infraestrutura interna.

Aprenda a configurar seu cluster Kubernetes para Aplicativos de Contêiner, por meio de Configurar um cluster Kubernetes habilitado para Azure Arc para executar Aplicativos de Contêiner do Azure

Ao configurar o cluster, você executa estas ações:

Limitações

As limitações a seguir se aplicam aos Aplicativos de Contêiner do Azure no Kubernetes habilitado para Azure Arc.

Limitação Detalhes
Regiões do Azure suportadas Austrália Leste, Centro dos EUA, Leste Asiático, Leste dos EUA, Centro-Norte 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: Armazenamento de Ficheiros do Azure O driver SMB (>= v1.18.0) deve ser instalado antes de usar o armazenamento SMB de arquivos 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

Se estiver implantando no AKS no Azure Local , certifique-se de ter configurado o HAProxy como seu balanceador de carga antes de tentar instalar a extensão. Além disso, certifique-se de que CoreDNS personalizado está habilitado.

Para obter informações sobre como habilitar o CoreDNS personalizado do AKS, consulte a documentação da az containerapp arc CLI.

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.

Opcionalmente, você pode optar por fazer com que a extensão instale o KEDA para dimensionamento controlado por eventos. No entanto, apenas uma instalação KEDA é permitida no cluster. Se você tiver uma instalação existente, desative a instalação KEDA enquanto instala a extensão de cluster.

A tabela a seguir descreve a função de cada revisão criada para você:

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

Quais recursos de aplicativos de contêiner são suportados?

Consulte o portal para obter a lista mais atualizada. As funcionalidades não suportadas são exibidas a cinzento no portal.

As identidades gerenciadas são suportadas?

Não há suporte para identidades gerenciadas. Não é possível atribuir identidades geridas aos aplicativos em execução no Azure Arc. Se o seu aplicativo precisar de uma identidade para trabalhar com outro recurso do Azure, considere usar uma entidade de serviço de aplicativo.

Existem limites de escala?

Todos os aplicativos implementados com Azure Container Apps no Kubernetes habilitado para Azure Arc podem ser escalados dentro dos limites do cluster Kubernetes subjacente. Se o cluster ficar sem recursos de computação disponíveis (CPU e memória principalmente), os aplicativos serão dimensionados para o número de instâncias do aplicativo que o Kubernetes pode agendar com o recurso disponível.

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.

O que devo fazer se vir um erro de registo de fornecedor?

À medida que você cria um recurso de ambiente conectado dos Aplicativos de Contêiner do Azure, algumas assinaturas podem ver o erro "Nenhum provedor de recursos registrado encontrado". Os detalhes do erro podem incluir um conjunto de locais e versões de API que são considerados válidos. Se essa mensagem de erro for retornada, a assinatura deverá ser registrada novamente no Microsoft.App provedor. O novo registro do provedor não tem efeito sobre aplicativos ou APIs existentes. Para se registar novamente, use a CLI do Azure para executar az provider register --namespace Microsoft.App --wait. Em seguida, tente novamente o comando connected environment.

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 implantar a extensão Container Apps em um cluster baseado em Arm64?

Não. Não há suporte para clusters baseados em Arm64.