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.
Los siguientes pasos de alto nivel están involucrados en la conexión de un clúster Kubernetes a Azure Arc:
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.
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. 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.
- Un recurso de Kubernetes habilitado para Azure Arc
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.
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:
- Microsoft.KubernetesConfiguration/SourceControlConfigurations
- Microsoft.KubernetesConfiguration/Extensions
- Microsoft.KubernetesConfiguration/FluxConfigurations
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.Elimine la implementación anterior de Arc del clúster de Kubernetes subyacente.
Con el acceso de red al clúster de Kubernetes subyacente, conectar el clúster en la nueva región.
Compruebe que el clúster conectado a Arc se está ejecutando correctamente en la nueva región:
- Ejecute
az connectedk8s show -n <connected-cluster-name> -g <resource-group>
y asegúrese de que el valor deconnectivityStatus
seaConnected
. - Ejecute
kubectl get deployments,pods -n azure-arc
para comprobar que todos los agentes se han implementado correctamente.
- Ejecute
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
- Siga el inicio rápido para conectar un clúster de Kubernetes a Azure Arc.
- Vea las notas de la versión para ver detalles sobre las versiones más recientes del agente.
- Más información sobre: Actualización de los agentes de Kubernetes habilitado para Azure Arc.
- Obtenga más información sobre la creación de conexiones entre el clúster y un repositorio de GIT como un recurso de configuración con Kubernetes habilitado para Azure Arc.