Compartir vía


Introducción a los agentes de Kubernetes habilitado para Azure Arc

Kubernetes habilitado para Azure Arc proporciona un plano de control coherente y centralizado para administrar las directivas, la gobernanza y la seguridad de clústeres de Kubernetes en diferentes entornos.

Los agentes de Azure Arc se implementan en clústeres de Kubernetes al conectarlos a Azure Arc. En este artículo se proporciona información general sobre estos agentes.

Implementación de agentes en un clúster

La mayoría de los centros de datos locales aplican estrictas reglas de red que evitan la comunicación entrante en el firewall del límite de la red. Kubernetes habilitado para Azure Arc es compatible con estas restricciones, ya que no exige puertos de entrada en el firewall. Los agentes de Azure Arc requieren comunicación de salida a una lista de puntos de conexión de red.

En este diagrama se proporciona una vista general de los componentes de Azure Arc. Los clústeres de Kubernetes en centros de datos locales o nubes diferentes están conectados a Azure a través de los agentes de Azure Arc. Esta conexión permite que los clústeres se administren en Azure mediante herramientas de administración y servicios de Azure. También se puede acceder a los clústeres a través de herramientas de administración sin conexión.

Diagrama que muestra una descripción general de la arquitectura de los agentes Kubernetes habilitados para Azure Arc.

Los siguientes pasos de alto nivel están involucrados en la conexión de un clúster Kubernetes a Azure Arc:

  1. Cree un clúster de Kubernetes en su elección de infraestructura (VMware vSphere, Amazon Web Services, Google Cloud Platform o cualquier distribución certificada de Kubernetes de Cloud Native Computing Foundation (CNCF)). El clúster ya debe existir antes de conectarlo a Azure Arc.

  2. Inicie el registro de Azure Arc para el clúster. Este proceso implementa el gráfico de Helm del agente en el clúster. Después, los nodos del clúster inician una comunicación saliente con el Microsoft Container Registry, extrayendo las imágenes necesarias para crear los siguientes agentes en el espacio de nombres azure-arc:

    Agente Descripción
    deployment.apps/clusteridentityoperator Actualmente, Kubernetes habilitado para Azure Arc solo admite identidades asignadas por el sistema. clusteridentityoperator inicia la primera comunicación saliente. La primera comunicación captura el certificado de Managed Service Identity (MSI) que usan otros agentes para comunicarse con Azure.
    deployment.apps/config-agent Comprueba en el clúster conectado los recursos de configuración de control de código fuente aplicados en el clúster. Actualiza el estado de cumplimiento.
    deployment.apps/controller-manager Operador de operadores que organiza las interacciones entre los componentes de Azure Arc.
    deployment.apps/metrics-agent Recopila las métricas de otros agentes de Arc para comprobar el rendimiento óptimo.
    deployment.apps/cluster-metadata-operator Recopila metadatos del clúster, incluida la versión del clúster, el recuento de nodos y la versión del agente de Azure Arc.
    deployment.apps/resource-sync-agent Sincroniza estos metadatos mencionados anteriormente con Azure.
    deployment.apps/flux-logs-agent Recopila registros de los operadores de Flux implementados como parte de la configuración de control de código fuente.
    deployment.apps/extension-manager Instala y administra el ciclo de vida de los gráficos de Helm de extensiones.
    deployment.apps/kube-aad-proxy Se usa para la autenticación de solicitudes enviadas al clúster mediante Conexión de clúster.
    deployment.apps/clusterconnect-agent Agente proxy inverso que habilita la característica Conexión de clúster para proporcionar acceso al apiserver del clúster. Componente opcional que se implementa solo si la función Conexión de clúster está habilitada.
    deployment.apps/guard Servidor de webhook de autenticación y autorización usado para RBAC de Microsoft Entra. Componente opcional que se implementa solo si Azure RBAC está habilitado en el clúster.
  3. Una vez que todos los pods de los agentes de Kubernetes habilitado para Azure Arc estén en el estado Running, compruebe que el clúster esté conectado a Azure Arc. Debería ver lo siguiente:

    • Un recurso de Kubernetes habilitado para Azure Arc connectedClusters en Azure Resource Manager. Azure realiza un seguimiento de este recurso como una proyección del clúster de Kubernetes administrado por el cliente, en lugar de realizar un seguimiento del propio clúster de Kubernetes real.
    • Los metadatos del clúster (como la versión de Kubernetes, la del agente y el número de nodos) aparecen en el recurso de Kubernetes habilitado para Azure Arc como metadatos.

Para más información sobre cómo implementar los agentes en un clúster, consulte Inicio rápido: Conexión de un clúster de Kubernetes existente a Azure Arc.

Traslado de clústeres de Kubernetes habilitados para Arc entre regiones de Azure

En algunas circunstancias, es posible que quiera mover los clústeres de Kubernetes habilitados para Arc a otra región. Por ejemplo, puede que quiera implementar características o servicios que solo estén disponibles en regiones específicas o que necesite cambiar las regiones debido a los requisitos de gobernanza internos o a las consideraciones de planeamiento de capacidad.

Al mover un clúster conectado a una nueva región, se elimina el recurso de connectedClusters Azure Resource Manager en la región de origen y, a continuación, se implementan los agentes para volver a crear el recurso connectedClusters en la región de destino. En el caso de las configuraciones de control de código fuente, configuraciones de Flux, y extensiones dentro del clúster, deberá guardar detalles sobre los recursos y, a continuación, volver a crear los recursos secundarios en el nuevo recurso de clúster.

Antes de comenzar, asegúrese de que los recursos de Kubernetes habilitados para Azure Arc (Microsoft.Kubernetes/connectedClusters) y los recursos de configuración de Kubernetes habilitados para Azure Arc necesarios (Microsoft.KubernetesConfiguration/SourceControlConfigurations, Microsoft.KubernetesConfiguration/Extensions, Microsoft.KubernetesConfiguration/FluxConfigurations) se admiten en la región de destino.

  1. Ejecute un comando LIST para obtener todos los recursos de configuración del clúster de origen (el clúster que se va a mover) y guarde el cuerpo de la respuesta:

    Nota:

    LIST/GET de los recursos de configuración no devuelven ConfigurationProtectedSettings. En estos casos, la única opción es guardar el cuerpo de la solicitud original y reutilizarlo al crear los recursos en la nueva región.

  2. Elimine la implementación anterior de Arc del clúster de Kubernetes subyacente.

  3. Con el acceso de red al clúster de Kubernetes subyacente, conectar el clúster en la nueva región.

  4. Compruebe que el clúster conectado a Arc se está ejecutando correctamente en la nueva región:

    1. Ejecute az connectedk8s show -n <connected-cluster-name> -g <resource-group> y asegúrese de que el valor de connectivityStatus sea Connected.
    2. Ejecute kubectl get deployments,pods -n azure-arc para comprobar que todos los agentes se han implementado correctamente.
  5. Con el cuerpo de la respuesta que haya guardado, vuelva a crear cada uno de los recursos de configuración obtenidos en el comando LIST del clúster de origen en el clúster de destino. Para confirmarlo, compare los resultados de una lista de todos los recursos de configuración del clúster de destino con la respuesta LIST original del clúster de origen.

Pasos siguientes