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.
As seguintes etapas de nível elevado estão envolvidas na conexão de um cluster de Kubernetes ao Azure Arc:
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.
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. 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.
- Um recurso
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.
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:
- Microsoft.KubernetesConfiguration/SourceControlConfigurations
- Microsoft.KubernetesConfiguration/Extensions
- Microsoft.KubernetesConfiguration/FluxConfigurations
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.Exclua a implantação anterior do Arc do cluster do Kubernetes subjacente.
Com acesso à rede para o cluster subjacente do Kubernetes, conecte o cluster na nova região.
Verifique se o cluster conectado ao Arc está sendo executado com sucesso na nova região:
- Execute
az connectedk8s show -n <connected-cluster-name> -g <resource-group>
e verifique se o valor deconnectivityStatus
éConnected
. - Execute
kubectl get deployments,pods -n azure-arc
para verificar se todos os agentes foram implantados com sucesso.
- Execute
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
- Percorra nosso guia de início rápido para conectar um cluster do Kubernetes ao Azure Arc.
- Exibir notas sobre a versão para ver detalhes sobre as versões mais recentes do agente.
- Saiba mais sobre Como atualizar os agentes Kubernetes habilitados para Azure Arc.
- Saiba mais sobre como criar conexões entre o cluster e um repositório Git como um recurso de configuração com o Kubernetes habilitado para Azure Arc.