Compartilhar via


Visão geral do agente de Kubernetes habilitado para Azure Arc

O Kubernetes habilitado para Azure Arc fornece um painel de controle centralizado e consistente para o gerenciamento da política, da governança e da segurança em clusters do 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 oferece uma visão geral desses agentes.

Implantar agentes no seu cluster

A maioria dos datacenters no local impõe regras de rede estritas 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 a comunicação de saída com 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 do 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 do Kubernetes habilitados para Azure Arc.

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

  1. Crie um cluster do Kubernetes na infraestrutura de sua escolha (VMware vSphere, Amazon Web Services, Google Cloud Platform ou qualquer distribuição do Kubernetes certificada pela Cloud Native Computing Foundation (CNCF)). O cluster já deve existir antes da conexão dele com o Azure Arc.

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

    Agente Descrição
    deployment.apps/clusteridentityoperator No momento, o Kubernetes habilitado para Azure Arc dá suporte a identidades atribuídas pelo sistema. O clusteridentityoperator inicia a primeira comunicação de saída. A primeira comunicação busca o certificado de MSI (Identidade de Serviço Gerenciado) usado por outros agentes para comunicação com o Azure.
    deployment.apps/config-agent Observa o cluster conectado em busca dos 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 os componentes do Azure Arc.
    deployment.apps/metrics-agent Coleta métricas de outros agentes do Arc para verificar o desempenho ideal.
    deployment.apps/cluster-metadata-operator Coleta 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 de gráficos de extensão do Helm.
    deployment.apps/kube-aad-proxy Usado para a autenticação de solicitações enviadas ao cluster por meio da conexão de cluster.
    deployment.apps/clusterconnect-agent Agente de proxy reverso que habilita o recurso de conexão de cluster a fim de fornecer acesso do cluster ao apiserver. Componente opcional implantado somente quando o recurso de conexão de cluster está habilitado.
    deployment.apps/guard Servidor de webhook de autenticação e autorização usado para o Microsoft Entra RBAC. Componente opcional implantado somente se o Azure RBAC estiver habilitado no cluster.
  3. Depois que todos os pods do agente de Kubernetes habilitado para Azure Arc estiverem no estado Running, verifique se o cluster está conectado ao Azure Arc. Você deverá ver:

    • Um recurso connectedClusters do Kubernetes habilitado para o Azure Arc no Azure Resource Manager. O Azure acompanha esse recurso como uma projeção do cluster do Kubernetes gerenciado pelo cliente, em vez de acompanhar o próprio cluster do Kubernetes real.
    • Os metadados de cluster (como a versão do Kubernetes, a versão do agente e o número de nós) são exibidos como metadados no recurso Kubernetes habilitado para Azure Arc.

Para obter mais informações sobre a implantação dos agentes em um cluster, confira Início Rápido: Conectar um cluster do Kubernetes existente ao Azure Arc.

Mover clusters de Kubernetes habilitado para Arc entre regiões do Azure

Em algumas circunstâncias, talvez você queira mover seus clusters do Kubernetes habilitados para Arc para outra região. Por exemplo, talvez você queira implantar recursos ou serviços que só estejam em regiões específicas ou precise alterar de região 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 recurso do Azure Resource Manager connectedClusters na região de origem e, em seguida, implanta os agentes para recriar o recurso connectedClusters na região de destino. Para configurações de controle do código-fonte, configurações do Flux e extensões dentro do cluster, será necessário salvar detalhes sobre os recursos e, em seguida, recriar os recursos filhos no novo recurso de cluster.

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

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

    Observação

    LIST/GET dos 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 do Kubernetes subjacente.

  3. Com acesso à rede para o cluster subjacente do Kubernetes, conecte o cluster na nova região.

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

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

Próximas etapas