Partilhar via


Visão geral do agente Kubernetes habilitado para Azure Arc

O Kubernetes habilitado para Azure Arc fornece um plano de controle centralizado e consistente para gerenciar políticas, governança e segurança em clusters Kubernetes em diferentes ambientes.

Os agentes do Azure Arc são implantados em clusters do Kubernetes quando você os conecta ao Azure Arc. Este artigo fornece uma visão geral desses agentes.

Implantar agentes em seu cluster

A maioria dos datacenters locais impõe regras de rede rígidas que impedem a comunicação de entrada no firewall de limite de rede. O Kubernetes habilitado para Azure Arc funciona com essas restrições não exigindo portas de entrada no firewall. Os agentes do Azure Arc exigem comunicação de saída para uma lista definida de pontos de extremidade de rede.

Este diagrama fornece uma exibição de alto nível dos componentes do Azure Arc. Os clusters Kubernetes em datacenters locais ou nuvens diferentes são conectados ao Azure por meio dos agentes do Azure Arc. Essa conexão permite que os clusters sejam gerenciados no Azure usando ferramentas de gerenciamento e serviços do Azure. Os clusters também podem ser acessados por meio de ferramentas de gerenciamento offline.

Diagrama mostrando uma visão geral da arquitetura dos agentes Kubernetes habilitados para Azure Arc.

As seguintes etapas de alto nível estão envolvidas na conexão de um cluster do Kubernetes ao Azure Arc:

  1. Crie um cluster Kubernetes em sua escolha de infraestrutura (VMware vSphere, Amazon Web Services, Google Cloud Platform ou qualquer distribuição Kubernetes certificada pela Cloud Native Computing Foundation (CNCF). O cluster já deve existir antes de você conectá-lo ao Azure Arc.

  2. Inicie o registro do Azure Arc para seu cluster. Esse processo implanta o gráfico Helm do agente no cluster. Depois disso, os nós do cluster iniciam uma comunicação de saída para o Microsoft Container Registry, extraindo as imagens necessárias para criar os seguintes agentes no azure-arc namespace:

    Agente Description
    deployment.apps/clusteridentityoperator Atualmente, o Kubernetes habilitado para Azure Arc dá suporte apenas a identidades atribuídas pelo sistema. clusteridentityoperator inicia a primeira comunicação de saída. Essa primeira comunicação busca o certificado MSI (Managed Service Identity) usado por outros agentes para comunicação com o Azure.
    deployment.apps/config-agent Observa o cluster conectado em busca de recursos de configuração de controle do código-fonte aplicados no cluster. Atualiza o estado de conformidade.
    deployment.apps/controller-manager Um operador de operadores que orquestra interações entre componentes do Azure Arc.
    deployment.apps/metrics-agent Coleta métricas de outros agentes Arc para verificar o desempenho ideal.
    deployment.apps/cluster-metadata-operator Recolhe metadados do cluster, incluindo a versão do cluster, a contagem de nós e a versão do agente do Azure Arc.
    deployment.apps/resource-sync-agent Sincroniza os metadados de cluster mencionados acima com o Azure.
    deployment.apps/flux-logs-agent Coleta logs dos operadores do Flux implantados como parte da configuração de controle do código-fonte.
    deployment.apps/extension-manager Instala e gerencia o ciclo de vida dos gráficos Helm de extensão.
    deployment.apps/kube-aad-proxy Usado para autenticação de solicitações enviadas ao cluster usando a conexão de cluster.
    deployment.apps/clusterconnect-agent Agente de proxy reverso que permite que o recurso de conexão de cluster forneça acesso ao apiserver cluster. Componente opcional implantado somente se o recurso de conexão de cluster estiver habilitado.
    deployment.apps/guard Servidor webhook de autenticação e autorização usado para Microsoft Entra RBAC. Componente opcional implantado somente se o RBAC do Azure estiver habilitado no cluster.
  3. Quando todos os pods de agente do Kubernetes habilitados para Azure Arc estiverem no Running estado, verifique se seu cluster está conectado ao Azure Arc. Você deve ver:

    • Um recurso do Kubernetes connectedClusters habilitado para Azure Arc no Azure Resource Manager. O Azure rastreia esse recurso como uma projeção do cluster Kubernetes gerenciado pelo cliente, em vez de rastrear o cluster Kubernetes real em si.
    • Metadados de cluster (como versão do Kubernetes, versão do agente e número de nós) que aparecem no recurso Kubernetes habilitado para Azure Arc como metadados.

Para obter mais informações sobre como implantar os agentes em um cluster, consulte Guia de início rápido: conectar um cluster Kubernetes existente ao Azure Arc.

Mover clusters Kubernetes habilitados para Arc entre regiões do Azure

Em algumas circunstâncias, você pode querer mover seus clusters Kubernetes habilitados para Arc para outra região. Por exemplo, talvez você queira implantar recursos ou serviços que estão disponíveis apenas em regiões específicas ou precise alterar regiões devido a requisitos internos de governança ou considerações de planejamento de capacidade.

Ao mover um cluster conectado para uma nova região, você exclui o connectedClusters recurso do Azure Resource Manager na região de origem e implanta os agentes para recriar o connectedClusters recurso na região de destino. Para configurações de controle do código-fonte, configurações do Flux e extensões dentro do cluster, você precisará salvar detalhes sobre os recursos e, em seguida, recriar os recursos filho no novo recurso de cluster.

Antes de começar, verifique se os recursos do Kubernetes habilitados para Azure Arc (Microsoft.Kubernetes/connectedClusters) e quaisquer recursos de configuração do Kubernetes habilitados para Azure Arc necessários (Microsoft.KubernetesConfiguration/SourceControlConfigurations, Microsoft.KubernetesConfiguration/ExtensionsMicrosoft.KubernetesConfiguration/FluxConfigurations, ) têm suporte na região de destino.

  1. Faça uma LIST para obter todos os recursos de configuração no cluster de origem (o cluster a ser movido) e salve o corpo da resposta:

    Nota

    LIST/GET de recursos de configuração não retornam ConfigurationProtectedSettings. Para esses casos, a única opção é salvar o corpo da solicitação original e reutilizá-los ao criar os recursos na nova região.

  2. Exclua a implantação anterior do Arc do cluster Kubernetes subjacente.

  3. Com acesso de rede ao cluster Kubernetes subjacente, conecte o cluster na nova região.

  4. Verifique se o cluster conectado ao Arc está sendo executado com êxito na nova região:

    1. Execute az connectedk8s show -n <connected-cluster-name> -g <resource-group> e verifique se o connectivityStatus valor é Connected.
    2. Execute kubectl get deployments,pods -n azure-arc para verificar se todos os agentes foram implantados com êxito.
  5. Usando o corpo de resposta que você salvou, recrie cada um dos recursos de configuração obtidos no comando LIST do cluster de origem no cluster de destino. Para confirmar, compare os resultados de uma LIST de todos os recursos de configuração no cluster de destino com a resposta LIST original do cluster de origem.

Próximos passos