Conectividad privada para clústeres de Kubernetes habilitados para Arc mediante Private Link (versión preliminar)

Si usa Azure Private Link, podrá vincular los servicios de Azure a la red virtual de forma segura mediante puntos de conexión privados. Gracias a esto, podrá conectar los clústeres locales de Kubernetes a Azure Arc, así como enviar todo el tráfico a través de Azure ExpressRoute o de una conexión VPN de sitio a sitio en lugar de utilizar redes públicas. En Azure Arc, puede utilizar un modelo de ámbito de Private Link para permitir que varios clústeres de Kubernetes se comuniquen con sus recursos de Azure Arc mediante un único punto de conexión privado.

En este documento, se explica cuándo debe usarse la característica Private Link de Azure Arc, así como su proceso de configuración (versión preliminar).

Importante

La característica Private Link de Azure Arc se encuentra actualmente en VERSIÓN PRELIMINAR en todas las regiones donde Kubernetes puede usarse con Azure Arc, excepto Sudeste de Asia. Consulte Términos de uso complementarios para las versiones preliminares de Microsoft Azure para conocer los términos legales que se aplican a las características de Azure que se encuentran en la versión beta, en versión preliminar o que todavía no se han publicado para que estén disponibles con carácter general.

Ventajas

Con Private Link puede:

  • Conectarse de manera privada con Azure Arc sin necesidad de abrir ningún acceso a la red pública.
  • Asegurarse de que solo se acceda a los datos del clúster de Kubernetes que está habilitado para Arc mediante las redes privadas que estén autorizadas.
  • Evitar la filtración de datos desde las redes privadas mediante la definición de clústeres de Kubernetes que están habilitados para su uso en Azure Arc específicos, así como otros recursos de servicios de Azure, como Azure Monitor, que se conecten mediante el punto de conexión privado.
  • Conectar de forma segura la red local privada a Azure Arc mediante ExpressRoute y Private Link.
  • Mantener todo el tráfico dentro de la red troncal de Microsoft Azure.

Para obtener más información, consulte Ventajas principales de Azure Private Link.

Funcionamiento

En el ámbito de Private Link de Azure Arc, los puntos de conexión privados (y las redes virtuales donde estos se encuentran) se conectan a un recurso de Azure. En este caso, el recurso serían los clústeres de Kubernetes que están habilitados para su uso en Azure Arc. Si se habilita alguna extensión compatible con los clústeres de Kubernetes que están habilitados para su uso en Arc, como Azure Monitor, es posible que sea necesario establecer una conexión con otros recursos de Azure para que se admitan estos escenarios. Por ejemplo, en el caso de Azure Monitor, los registros que se recopilan a partir del clúster se envían al área de trabajo de Log Analytics.

Para obtener conectividad con los demás recursos de Azure que se mencionaron anteriormente desde un clúster de Kubernetes que esté habilitado para su uso con Arc, es necesario que se realice el proceso de configuración de Private Link para cada servicio. Para obtener un ejemplo, consulte Private Link para Azure Monitor.

Limitaciones actuales

Tenga en cuenta las siguientes limitaciones actuales cuando planee el proceso de configuración de Private Link.

  • Como máximo, puede asociar un Ámbito de Private Link de Azure Arc con una red virtual.

  • Los clústeres de Kubernetes que están habilitados para su uso con Azure Arc solo pueden conectarse a un ámbito de Private Link.

  • Todos los clústeres de Kubernetes locales deben usar el mismo punto de conexión privado. Para ello, debe resolverse la información correcta del punto de conexión privado (nombre de registro FQDN y dirección IP privada) mediante el mismo reenviador DNS. Para obtener más información, vea Configuración de DNS para puntos de conexión privados de Azure. Tanto el clúster de Kubernetes que está habilitado para su uso con Azure Arc como el ámbito de Private Link de Azure Arc y la red virtual deben ubicarse en la misma región de Azure. El punto de conexión privado y la red virtual también deben ubicarse en la misma región de Azure, pero esta región puede ser diferente de la del ámbito de Private Link de Azure Arc y el clúster de Kubernetes que está habilitado para su uso con Arc.

  • Durante el periodo de versión preliminar, se debe permitir el tráfico a las etiquetas de servicio de Microsoft Entra ID, Azure Resource Manager y Microsoft Container Registry a través del firewall de red local.

  • Otros servicios de Azure que utilizará (por ejemplo, Azure Monitor) requieren sus propios puntos de conexión privados en la red virtual.

    Nota:

    El uso de la característica Conexión de clúster (y, por tanto, el de la característica Ubicación personalizada) no se admite en los clústeres de Kubernetes que están habilitados para su uso con Azure Arc y que tienen habilitada la característica de conectividad privada. Esto ya estaba previsto y se agregará más adelante. Aún no se admite la conectividad de red mediante vínculos privados para ciertos servicios de Azure Arc, como los servicios de datos que están habilitados para su uso con Azure Arc. Además los servicios de las aplicaciones que están habilitadas para su uso con Azure Arc donde se usan estas características tampoco se admiten por ahora. Consulte la siguiente sección para obtener una lista de las extensiones de clúster o servicios de Azure Arc donde se admite la conectividad de red mediante vínculos privados.

Las siguientes extensiones admiten la conectividad de un extremo a otro mediante vínculos privados en los clústeres de Kubernetes que están habilitados para Azure Arc y que están configurados para su uso con vínculos privados. Consulte las instrucciones que se correspondan con cada extensión de clúster para ver los pasos de configuración adicionales y los detalles sobre la compatibilidad con el uso de vínculos privados.

Si desea conectar un clúster de Kubernetes a Azure Arc mediante un vínculo privado, deberá configurar la red de forma que se pueda hacer lo siguiente:

  1. Establecer una conexión entre la red local y una red virtual de Azure mediante una VPN de sitio a sitio o un circuito ExpressRoute.
  2. Implementar un ámbito de Private Link de Azure Arc que pueda usarse para controlar qué clústeres de Kubernetes se pueden comunicar con Azure Arc mediante puntos de conexión privados, así como asociarlo con la red virtual de Azure mediante un punto de conexión privado.
  3. Actualizar la configuración de DNS en la red local para resolver las direcciones de punto de conexión privado.
  4. Configure el firewall local para permitir el acceso a Microsoft Entra ID, Azure Resource Manager y Microsoft Container Registry.
  5. Asociar los clústeres de Kubernetes que están habilitados para su uso con Azure Arc con el ámbito de Private Link de Azure Arc.
  6. Opcionalmente, implementar puntos de conexión privados para otros servicios de Azure que se administren desde el clúster de Kubernetes que está habilitado para su uso con Azure Arc, como Azure Monitor. En el resto de este documento, se dará por hecho que ya ha configurado un circuito ExpressRoute o una conexión VPN de sitio a sitio.

Configuración de red

Los clústeres de Kubernetes que están habilitados para su uso con Azure Arc se integran con varios servicios de Azure con el objetivo de incorporar las características de administración y gobernanza mediante la nube en sus clústeres de Kubernetes. La mayoría de estos servicios ya ofrecen puntos de conexión privados, pero es necesario configurar reglas de enrutamiento y de firewall a fin de permitir el acceso a Microsoft Entra ID y Azure Resource Manager a través de Internet hasta que estos servicios ofrezcan puntos de conexión privados. También debe permitir el acceso a Microsoft Container Registry (y AzureFrontDoor.FirstParty como precursor de Microsoft Container Registry) para extraer imágenes y gráficos de Helm para habilitar servicios como Azure Monitor, así como para la configuración inicial de agentes de Azure Arc en los clústeres de Kubernetes.

Hay dos formas de hacerlo:

  • Si la red está configurada para enrutar todo el tráfico enlazado a Internet a través del circuito de ExpressRoute o la VPN de Azure, puede configurar el grupo de seguridad de red (NSG) asociado a la subred de Azure para permitir el acceso TCP 443 (HTTPS) saliente a Microsoft Entra ID, Azure Resource Manager, Azure Front Door y Microsoft Container Registry mediante etiquetas de servicio. Las reglas de NSG deben tener un aspecto similar al siguiente:

    Configuración Regla de Microsoft Entra ID Regla de Azure Resource Manager Regla AzureFrontDoorFirstParty Regla del Registro de contenedor de Microsoft
    Source Virtual Network Virtual Network Virtual Network Virtual Network
    Intervalos de puertos de origen * * * *
    Destination Etiqueta de servicio Etiqueta de servicio Etiqueta de servicio Etiqueta de servicio
    Etiqueta de servicio de destino AzureActiveDirectory AzureResourceManager AzureFrontDoor.FirstParty MicrosoftContainerRegistry
    Intervalos de puertos de destino 443 443 443 443
    Protocolo TCP TCP TCP TCP
    Acción Permitir Permitir Permitir (tanto entrante como saliente) Permitir
    Prioridad 150 (debe ser inferior a cualquier regla que bloquee el acceso a Internet) 151 (debe ser inferior a cualquier regla que bloquee el acceso a Internet) 152 (debe ser inferior a cualquier regla que bloquee el acceso a Internet) 153 (debe ser inferior a cualquier regla que bloquee el acceso a Internet)
    Nombre AllowAADOutboundAccess AllowAzOutboundAccess AllowAzureFrontDoorFirstPartyAccess AllowMCROutboundAccess
  • Configure el firewall en la red local para permitir el acceso TCP 443 (HTTPS) saliente a Microsoft Entra ID, Azure Resource Manager y Microsoft Container Registry, y acceso entrante y saliente a AzureFrontDoor.FirstParty mediante los archivos de etiquetas de servicio descargables. El archivo JSON contiene todos los intervalos de direcciones IP públicas que usan Microsoft Entra ID, Azure Resource Manager, AzureFrontDoor.FirstParty y Microsoft Container Registry, y se actualiza mensualmente para reflejar los cambios. La etiqueta de servicio de Microsoft Entra es AzureActiveDirectory, la de Azure Resource Manager es AzureResourceManager, la de Microsoft Container Registry es MicrosoftContainerRegistry y la de Azure Front Door es AzureFrontDoor.FirstParty. Consulte con el administrador de red y el proveedor del firewall de red cómo configurar las reglas de firewall.

  1. Inicie sesión en Azure Portal.

  2. En Azure Portal, vaya a la ventana Crear un recurso y busque el elemento "Ámbito de Private Link de Azure Arc". De manera alternativa, puede ir directamente a la página Ámbito de Private Link de Azure Arc en Azure Portal.

  3. Seleccione Crear.

  4. Seleccione una suscripción y un grupo de recursos. Durante la versión preliminar, la red virtual y los clústeres de Kubernetes que están habilitados para su uso con Azure Arc deberán ubicarse en la misma suscripción que el ámbito de Private Link de Azure Arc.

  5. Asígnele un nombre al Ámbito de Private Link de Azure Arc.

  6. También puede requerir que los datos se envíen al servicio mediante el punto de conexión privado para todos los clústeres de Kubernetes que estén habilitado para su uso con Arc y que estén asociados con este ámbito de Private Link de Azure Arc. Si selecciona el elemento Habilitar acceso a la red pública, los clústeres de Kubernetes que estén asociados con este ámbito de Private Link de Azure Arc podrán comunicarse con el servicio mediante redes tanto privadas como públicas. Puede cambiar esta configuración en función de sus necesidades después de que se haya creado el ámbito.

  7. Seleccione Revisar + crear.

    Screenshot of the Azure Arc Private Link Scope creation screen in the Azure portal.

  8. Una vez que se haya completado el proceso de validación, seleccione el botón Crear.

Creación de un punto de conexión privado

Una vez creado el ámbito de Private Link de Azure Arc, deberá conectarlo con una o varias redes virtuales mediante un punto de conexión privado. El punto de conexión privado expone el acceso a los servicios de Azure Arc en una dirección IP privada en el espacio de direcciones de la red virtual.

Si usa un punto de conexión privado en la red virtual, podrá establecer la comunicación entre esta y los puntos de conexión de los clústeres de Kubernetes que están habilitados para su uso con Azure Arc mediante IP privadas que se obtengan del grupo de la red, en lugar de usar las IP públicas de estos puntos de conexión. De esta manera, podrá seguir usando los recursos de los clústeres de Kubernetes que están habilitados para su uso con Azure Arc sin necesidad de abrir la VNet al tráfico saliente no solicitado. El tráfico que viaja desde el punto de conexión privado hasta los recursos pasará por Microsoft Azure y no se enrutará hacia las redes públicas.

  1. En el recurso de ámbito, seleccione Conexiones de punto de conexión privado en el menú de recursos de la izquierda. Seleccione Agregar para iniciar el proceso de creación del punto de conexión. También puede aprobar las conexiones que se hayan iniciado en el centro de Private Link. Para ello, selecciónelas y elija el elemento Aprobar.

    Screenshot of the Private Endpoint connections screen in the Azure portal.

  2. Seleccione la suscripción, el grupo de recursos, el nombre del punto de conexión y la región que desea usar. La región que elija debe ser la misma que se usa para la red virtual.

  3. Seleccione Siguiente: Resource (Siguiente: Recurso).

  4. En la página Recursos, realice las siguientes acciones:

    1. Seleccione la suscripción donde reside el recurso de ámbito de Private Link de Azure Arc.
    2. En el campo Tipo de recurso, elija "Microsoft.HybridCompute/privateLinkScopes".
    3. En la lista desplegable Recurso, elija el ámbito de Private Link de Azure Arc que creó anteriormente.
    4. Seleccione Siguiente: Configuration (Siguiente: Configuración).
  5. En la página Configuración, complete los siguientes pasos:

    1. Elija la red virtual y la subred desde donde desee conectarse a los clústeres de Kubernetes que están habilitados para su uso con Azure Arc.

    2. En Integrar con la zona DNS privada, seleccione . Se creará una nueva zona de DNS privado. Las zonas DNS reales pueden ser distintas de las que se muestran en la siguiente captura de pantalla.

      Screenshot of the Configuration step to create a private endpoint in the Azure portal.

      Nota:

      Si elige No porque prefiere administrar los registros de DNS manualmente, complete primero la configuración de la instancia de Private Link, incluidas las configuraciones de este punto de conexión privado y del ámbito privado. Después, establezca la configuración de DNS según las instrucciones que se indican en Configuración de DNS para puntos de conexión privados de Azure. Asegúrese de no crear registros vacíos como preparación para la configuración de Private Link. Los registros DNS que se crean pueden invalidar la configuración existente e influir en la conectividad con los servidores que estén habilitados para usar clústeres de Kubernetes.

    3. Seleccione Revisar + crear.

    4. Permita que la validación se supere.

    5. Seleccione Crear.

Configuración del reenvío de DNS local

Los clústeres locales deben poder usarse para resolver los registros DNS de vínculo privado de las direcciones IP del punto de conexión privado. El proceso de configuración dependerá de si va a usar zonas DNS privadas de Azure para mantener los registros DNS o si va a usar su propio servidor DNS local, además del número de servidores que vaya a configurar.

Configuración de DNS mediante zonas DNS privadas integradas en Azure

Si configura zonas DNS privadas para los clústeres de Kubernetes habilitados para su uso con Azure Arc cuando cree el punto de conexión privado, los clúster de Kubernetes locales deberán poder usarse para reenviar consultas de DNS a los servidores de Azure DNS integrados para resolver correctamente las direcciones de punto de conexión privado. Necesita un reenviador DNS en Azure (ya sea una máquina virtual creada específicamente o una instancia de Azure Firewall con el proxy DNS habilitado). Luego puede configurar el servidor DNS local para reenviar consultas a Azure a fin de resolver las direcciones IP del punto de conexión privado.

La documentación del punto de conexión privado proporciona instrucciones para configurar cargas de trabajo locales mediante un reenviador DNS.

Configuración manual del servidor DNS

Si durante el proceso de creación del punto de conexión privado decide que no va a usar zonas DNS privadas de Azure, deberá crear los registros DNS que se requieran en el servidor DNS local.

  1. Vaya a Azure Portal.

  2. Vaya al recurso de punto de conexión privado que esté asociado con la red virtual y con el ámbito de Private Link de Azure Arc.

  3. En el panel izquierdo, seleccione Configuración de DNS para ver una lista de los registros DNS y las direcciones IP correspondientes que deberá configurar en el servidor DNS. Los FQDN y las direcciones IP cambiarán en función de la región seleccionada para el punto de conexión privado y las direcciones IP disponibles en la subred.

    Screenshot showing manual DNS server configuration in the Azure portal.

  4. Siga las instrucciones del proveedor del servidor DNS para agregar las zonas DNS necesarias y los registros A para que coincidan con la tabla del portal. Asegúrese de seleccionar un servidor DNS con el ámbito adecuado para la red. En todos los clústeres de Kubernetes que usan este servidor DNS, se podrán resolver las direcciones IP del punto de conexión privado. Estos deberán estar asociados con el ámbito de Private Link de Azure Arc; de lo contrario, se rechazará la conexión.

Nota:

La configuración de vínculos privados para clústeres de Kubernetes habilitados para Azure Arc se admite a partir de la versión 1.3.0 de la extensión de la CLI connectedk8s, pero requiere la versión de la CLI de Azure superior a la 2.3.0. Si usa una versión superior a la 1.3.0 para la extensión de la CLI connectedk8s, verá que hemos introducido validaciones para comprobar y conectar correctamente el clúster a Azure Arc solo si ejecuta la versión de la CLI de Azure superior a la 2.3.0.

Para configurar vínculos privados para un clúster de Kubernetes existente que está habilitado para su uso con Azure Arc, o al incorporar un clúster de Kubernetes a Azure Arc por primera vez, puede usar el siguiente comando:

az connectedk8s connect -g <resource-group-name> -n <connected-cluster-name> -l <location> --enable-private-link true --private-link-scope-resource-id <pls-arm-id>
Nombre de parámetro Descripción
--enable-private-link Esta propiedad puede usarse para habilitar o deshabilitar la característica de vínculos privados. Establezca su valor en "True" para habilitar la conectividad con vínculos privados.
--private-link-scope-resource-id El valor de este parámetro se corresponde con el id. del recurso de ámbito de vínculo privado que se creó anteriormente. Por ejemplo: /subscriptions//resourceGroups//providers/Microsoft.HybridCompute/privateLinkScopes/

En el caso de los clústeres de Kubernetes que están habilitados para su uso con Azure Arc y que se hayan configurado antes que el ámbito de vínculo privado de Azure Arc, podrá configurar los vínculos privados mediante Azure Portal, donde deberá seguir estos pasos:

  1. En Azure Portal, vaya al recurso Ámbito de Private Link de Azure Arc.

  2. En el panel de la izquierda, seleccione el elemento Recursos de Azure Arc. Después, seleccione + Agregar.

  3. En la lista, seleccione los clústeres de Kubernetes que desee asociar con el ámbito de Private Link y, a continuación, elija el elemento Seleccionar para guardar los cambios.

    Nota:

    En la lista, solo se mostrarán los clústeres de Kubernetes que están habilitados para su uso con Azure Arc y que residan en la misma suscripción y región que el ámbito de Private Link en cuestión.

    Screenshot of the list of Kubernetes clusters for the Azure Arc Private Link Scope.

Solución de problemas

Si experimenta algún problema, las siguientes sugerencias podrían serle de ayuda:

  • Revise los servidores DNS locales para comprobar que están reenviando a Azure DNS o están configurados con los registros A adecuados en la zona de vínculo privado. Estos comandos de búsqueda deben devolver direcciones IP privadas en la red virtual de Azure. Si resuelven direcciones IP públicas, compruebe de nuevo la configuración DNS de la máquina o el servidor y de la red.

    nslookup gbl.his.arc.azure.com
    nslookup agentserviceapi.guestconfiguration.azure.com
    nslookup dp.kubernetesconfiguration.azure.com
    
  • Si tiene problemas para incorporar el clúster de Kubernetes, confirme que ha agregado las etiquetas de servicio de Microsoft Entra ID, Azure Resource Manager, AzureFrontDoor.FirstParty y Microsoft Container Registry al firewall de la red local.

Pasos siguientes