Compartilhar via


Aplicativos de Contêiner do Azure no Azure Arc

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

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

  • Os desenvolvedores aproveitem os recursos dos Aplicativos de Contêiner
  • Os administradores de TI podem manter a conformidade corporativa hospedando Aplicativos de Contêiner na infraestrutura interna.

Saiba como configurar seu cluster do Kubernetes para Aplicativos de Contêiner, via Configurar um cluster do Kubernetes habilitado para Azure Arc para executar Aplicativos de Contêiner do Azure

Ao configurar seu cluster, você executará estas ações:

Limitações

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

Limitações Detalhes
Regiões do Azure com suporte Leste da Austrália, Eua Central, Leste da Ásia, Leste dos EUA, Centro-Norte dos EUA, Sudeste Asiático, Suécia Central, Sul do Reino Unido, Oeste da Europa, 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)
Recurso: Armazenamento de Arquivos do Azure O driver SMB (>= v1.18.0) deve ser instalado antes de usar o armazenamento SMB de 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
  • Gestão de Revisão
  • Console do contêiner do aplicativo

Importante

Se estiver implantando no AKS no Azure Local, certifique-se de configurar o HAProxy como seu balanceador de carga antes de tentar instalar a extensão. Além disso, verifique se o 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 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.

Como opção, você pode fazer com que a extensão instale o KEDA para o dimensionamento controlado por eventos. No entanto, somente uma instalação do KEDA é permitida no cluster. Se você tiver uma instalação existente, desabilite a instalação do KEDA ao instalar a extensão do cluster.

A tabela a seguir descreve a função de cada revisão criada 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 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 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

Há suporte para quais recursos de Aplicativos de Contêiner?

Verifique o portal para obter a lista mais atualizada. As funcionalidades sem suporte estão acinzentadas no portal.

Há suporte para identidades gerenciadas?

Não há suporte para identidades gerenciadas. Os aplicativos não podem receber identidades gerenciadas ao serem executados no Azure Arc. Se seu aplicativo precisar de uma identidade para trabalhar com outro recurso do Azure, considere usar uma entidade de serviço de aplicativo em vez disso.

Há limites de colocação em escala?

Todos os aplicativos implantados com os Aplicativos de Contêiner do Azure no Kubernetes habilitado para o Azure Arc podem ser dimensionados dentro dos limites do cluster do 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 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.

O que devo fazer se houver um erro de registro do provedor?

Ao criar um recurso de ambiente conectado dos Aplicativos de Contêiner do Azure, algumas assinaturas poderão 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 provedor Microsoft.App. O novo registro do provedor não tem efeito sobre os aplicativos ou APIs existentes. Para registrar novamente, use a CLI do Azure para executar az provider register --namespace Microsoft.App --wait. Em seguida, tente novamente o comando de ambiente conectado.

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 Aplicativos de Contêiner em um cluster baseado em Arm64?

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