Compartir a través de


Acceso a un servidor de API de Azure Kubernetes Service (AKS)

Azure Bastion
Azure ExpressRoute
Azure Kubernetes Service (AKS)
Azure Private Link
Azure VPN Gateway

En este artículo se describen las opciones para conectarse al servidor de API del clúster de Azure Kubernetes Service (AKS). En un clúster de AKS estándar, el servidor de API se expone a través de Internet. En un clúster de AKS privado, solo puede conectarse a Internet desde un dispositivo que tenga acceso de red al clúster privado.

Planear el acceso al servidor de API es una actividad de día cero y la forma en que accede al servidor depende de su escenario de implementación.

Acceso al servidor de API de AKS

Para administrar un clúster de AKS, interactúe con su servidor de API. Es esencial limitar el acceso del servidor de API solo a los usuarios necesarios. Puede proporcionar acceso pormenorizados mediante la integración del clúster de AKS con el identificador de Microsoft Entra. Los administradores pueden administrar el acceso mediante el control de acceso basado en rol (RBAC). También pueden colocar usuarios e identidades en grupos de Microsoft Entra y asignar roles y permisos adecuados. La autenticación de Microsoft Entra está habilitada en clústeres de AKS a través de OpenID Connect. Para obtener más información, consulte los siguientes recursos:

Nota

Puede mejorar la seguridad del clúster de AKS al permitir que solo intervalos de direcciones IP autorizados acceder al servidor de API.

Azure DDoS Protection, junto con los procedimientos recomendados de diseño de aplicaciones, proporciona características de mitigación mejoradas frente a ataques de denegación de servicio distribuido (DDoS). Habilite DDoS Protection en cada red virtual perimetral.

Acceso a un clúster de AKS a través de Internet

Cuando se crea un clúster no privado que se resuelve en el nombre de dominio completo (FQDN) del servidor de API, se le asigna una dirección IP pública de forma predeterminada. Puede conectarse al clúster mediante Azure Portal o un shell como la CLI de Azure, PowerShell o el símbolo del sistema.

Nota

Puede usar el cliente de línea de comandos de Kubernetes kubectl para conectarse a un clúster a través de Internet.

Cloud Shell

azure Cloud Shell es un shell integrado en Azure Portal. Puede administrar y conectarse a recursos de Azure desde Cloud Shell, como puede hacerlo desde PowerShell o la CLI de Azure.

Acceso a un clúster privado de AKS

Hay varias maneras de conectarse a un clúster privado de AKS. El acceso de planificación es una actividad de día cero que se basa en las necesidades y limitaciones de su escenario. Puede conectarse al clúster privado mediante los siguientes componentes y servicios:

  • Un jump box implementado en una subred como estación de trabajo de operaciones: Esta configuración puede ser máquinas virtuales (VM) persistentes independientes en un conjunto de disponibilidad de o conjuntos de escalado de máquinas virtuales de Azure.

  • Azure Container Instances y un cliente compatible con OpenSSH : Implementación de una instancia de contenedor que ejecuta un servidor secure Shell (SSH) y, a continuación, use el cliente compatible con OpenSSH para acceder al contenedor. Este contenedor actúa como un jump box dentro de la red para llegar al clúster privado.

  • Azure Bastion: Uso de Azure Bastion para establecer un acceso remoto más seguro basado en explorador a las máquinas virtuales o cuadros de acceso directo dentro de azure Virtual Network. Este acceso le permite conectarse de forma más segura a puntos de conexión privados, como el servidor de API de AKS.

  • red privada virtual (VPN): Crear una conexión VPN segura que extienda la red local o remota a la red virtual. Esta conexión le permite acceder al clúster privado, como si estuviera conectado localmente.

  • azure ExpressRoute: Use ExpressRoute para crear una conexión privada dedicada entre la red local y Azure. Esta conexión ayuda a garantizar un acceso más seguro y confiable al clúster privado sin usar la red pública de Internet.

  • cli de Azure comando az aks invoca comando: Realizar comandos directamente en el clúster de AKS mediante la CLI de Azure con el comando az aks command invoke. Este comando interactúa con el clúster sin exponer más puntos de conexión de red.

  • instancia de Cloud Shell que se implementa en una subred conectada al servidor de API para el clúster: Implementar Cloud Shell en una subred vinculada al servidor de API del clúster. Este enfoque proporciona un entorno de línea de comandos administrado más seguro para administrar el clúster privado.

  • Azure Virtual Desktop: Acceder a Azure Virtual Desktop para usar escritorios de Windows o Linux como jumpboxes para administrar de forma más segura el clúster privado desde casi cualquier lugar.

Nota

Todo el tráfico al servidor de API se transmite a través del protocolo de control de transmisión al puerto 443 a través de HTTPS. Los grupos de seguridad de red (NSG) u otros firewalls de red deben permitir el tráfico desde el origen al FQDN del servidor de API en el puerto 443 para HTTPS. Las asignaciones de tráfico deben restringirse específicamente al FQDN para el servidor de API del clúster.

Azure Bastion

Azure Bastion es una oferta de plataforma como servicio que permite conexiones SSH o protocolo de escritorio remoto seguro (RDP) a una máquina virtual dentro de la red virtual que no requiere una dirección IP pública en la máquina virtual. Al conectarse a un clúster de AKS privado, use Azure Bastion para acceder a un jump box en la red virtual del concentrador.

Como alternativa, puede usar SSH, RDP y Servicios de Escritorio remoto para controlar de forma remota los cuadros de salto. El clúster de AKS reside en una red de radios, que la separa del jump box. El emparejamiento de redes virtuales conecta las redes en estrella tipo hub-and-spoke. El jump box puede resolver el FQDN del servidor de API de AKS mediante el punto de conexión privado de Azure, una zona DNS privada y un registro A de DNS. Esta configuración ayuda a garantizar que el FQDN del servidor de API solo se pueda resolver dentro de la red virtual. Esta configuración proporciona una conexión de confianza al clúster de AKS privado.

Nota

Para el acceso continuo al clúster de AKS privado, la disponibilidad y la redundancia de los jump boxes son cruciales. Para ayudar a garantizar esta confiabilidad, coloque los cuadros de salto en los conjuntos de disponibilidad y use virtual Machine Scale Sets que tengan pocas instancias de máquina virtual. Para obtener más información, consulte los siguientes recursos:

diagrama de arquitectura que muestra la ruta de tráfico de un usuario a un clúster de AKS privado. El tráfico fluye a través de Azure Bastion y un jump box.

Descargar un archivo de Visio de esta arquitectura.

Flujo de datos

  1. Un usuario intenta conectarse a un jump box mediante Azure Bastion y un explorador HTML5 con cifrado de seguridad de la capa de transporte.

  2. El usuario elige en el portal si se va a usar RDP o SSH para conectarse al jump box.

  3. El usuario inicia sesión en el jump box a través de Azure Bastion. El intento de conectarse al clúster privado de AKS se realiza desde este jumpbox. La red virtual del concentrador tiene un vínculo de red virtual a la zona DNS privada de AKS para resolver el FQDN del clúster privado.

  4. La red virtual del concentrador y la red virtual de radio se comunican entre sí mediante el emparejamiento de redes virtuales.

  5. Para llegar al clúster de AKS privado, el tráfico entra en la red troncal de Azure. Un punto de conexión privado establece una conexión privada y aislada al clúster de AKS privado.

  6. El tráfico llega al servidor de API del clúster de AKS privado. Después, el usuario puede administrar pods, nodos y aplicaciones.

Nota

El FQDN del clúster privado se puede resolver desde fuera de la red virtual si no deshabilitar directamente el FQDN público en un clúster existente.

Solución de problemas de conexión

Si no puede conectarse al clúster privado:

  • Compruebe el emparejamiento de red virtual. Este mecanismo proporciona conectividad de red a red entre dos redes virtuales. Para que el tráfico fluya entre esas dos redes, debe establecer el emparejamiento de red virtual entre ellas. Al establecer un emparejamiento de red virtual, se coloca una ruta en la tabla de rutas del sistema de la red virtual. Esa ruta proporciona una ruta de acceso para llegar al espacio de direcciones de destino. Para obtener más información sobre cómo solucionar problemas de emparejamientos de red virtual, consulte Crear, cambiar o eliminar un emparejamiento de red virtual.

    Nota

    No necesita un emparejamiento de red virtual si el jump box está en la misma red virtual que el punto de conexión privado y el clúster privado de AKS.

  • Compruebe el vínculo de red virtual a la zona DNS privada. Los vínculos de red virtual proporcionan una manera de que las máquinas virtuales que están dentro de las redes virtuales se conecten a una zona DNS privada y resuelvan los registros DNS dentro de la zona. Si no puede conectarse al clúster de AKS privado o no puede resolver el FQDN del clúster privado, compruebe si la red virtual tiene un vínculo de red virtual a la zona DNS privada. El nombre de la zona DNS privada debe tener el formato privatelink.<region>.azmk8s.io.

    Para obtener más información sobre cómo solucionar problemas de vínculos de red virtual, consulte los siguientes recursos:

    Nota

    Al crear un clúster de AKS privado, se crea una zona DNS privada que tiene un vínculo de red virtual a la red virtual que hospeda el clúster de AKS privado.

Mejora de la seguridad

Para ayudar a proteger las cargas de trabajo de AKS y sus jump boxes, use el acceso Just-In-Time (JIT) y una estación de trabajo de acceso con privilegios (PAW). El acceso JIT forma parte de Microsoft Defender for Cloud. Puede ayudar a minimizar la posible superficie expuesta a ataques y vulnerabilidades bloqueando el tráfico entrante a su jump box y permitiendo el acceso solo durante un tiempo especificado cuando sea necesario. Una vez expirado el tiempo, el acceso se revoca automáticamente. Para obtener más información, consulte acceso a máquinas Just-In-Time.

Los PAW son dispositivos protegidos que proporcionan alta seguridad para los operadores bloqueando vectores de ataque comunes, como el correo electrónico y la exploración web. Para obtener más información, consulte Protección de dispositivos como parte del artículo de acceso con privilegios.

VPN

Una conexión VPN proporciona conectividad híbrida desde el entorno local a Azure. Esta conectividad permite el acceso a un clúster de AKS privado. El servidor de API del clúster privado no es accesible fuera de las redes virtuales. Con una VPN, puede conectarse a la red virtual en Azure a través de un túnel cifrado, acceder al jump box y después conectarse al servidor de API del clúster privado.

diagrama de arquitectura que muestra el flujo de tráfico de un usuario a un clúster de AKS privado. La ruta incluye una puerta de enlace de VPN, un túnel de seguridad de protocolo de Internet y un jump box.

Descargar un archivo de Visio de esta arquitectura.

Flujo de datos

  1. Un usuario inicia el tráfico RDP o SSH al jump box desde una estación de trabajo local.

  2. El tráfico de jump box deja los enrutadores perimetrales del cliente y el dispositivo VPN. El tráfico usa un túnel cifrado de seguridad del protocolo de Internet para atravesar Internet.

  3. El tráfico de jump box alcanza la puerta de enlace de red virtual en Azure, que es el punto de entrada y salida de la infraestructura de red virtual de Azure.

  4. Después de que el tráfico se mueva más allá de la puerta de enlace de red virtual, llega al jump box. El intento de conectarse al clúster privado de AKS se realiza desde el jump box. La red virtual del concentrador tiene un vínculo de red virtual a la zona DNS privada de AKS para resolver el FQDN del clúster privado.

  5. La red virtual del concentrador y la red virtual de radio se comunican entre sí mediante un emparejamiento de red virtual.

  6. Para llegar al clúster de AKS privado, el tráfico entra en la red troncal de Azure. Un punto de conexión privado establece una conexión privada y aislada al clúster de AKS privado.

  7. El tráfico llega al servidor de API del clúster de AKS privado. Después, el usuario puede administrar pods, nodos y aplicaciones.

ExpressRoute

ExpressRoute proporciona conectividad al clúster privado de AKS desde un entorno local. ExpressRoute usa el protocolo de puerta de enlace de borde para intercambiar rutas entre la red local y Azure. Esta conexión crea una ruta de acceso segura entre los recursos de infraestructura como servicio y las estaciones de trabajo locales. ExpressRoute proporciona una conexión dedicada y aislada que tiene un ancho de banda y una latencia coherentes, lo que hace que sea ideal para entornos empresariales.

diagrama de arquitectura que muestra la ruta de tráfico de un usuario a un clúster de AKS privado. La ruta incluye ExpressRoute y un jump box.

Descargar un archivo de Visio de esta arquitectura.

Flujo de datos

  1. Un usuario inicia el tráfico RDP o SSH al jump box desde una estación de trabajo local.

  2. El tráfico de jump box deja los enrutadores perimetrales del cliente y viaja en una conexión de fibra a la ubicación de encuentro donde reside el circuito ExpressRoute. El tráfico llega a los dispositivos Microsoft Enterprise Edge (MSEE) allí. A continuación, entra en el tejido de Azure.

  3. El tráfico de jump box llega a la puerta de enlace de ExpressRoute, que es el punto de entrada y salida de la infraestructura de red virtual de Azure.

  4. El tráfico llega al jump box. El intento de conectarse al clúster privado de AKS se realiza desde el jump box. La red virtual del concentrador tiene un vínculo de red virtual a la zona DNS privada de AKS para resolver el FQDN del clúster privado.

  5. La red virtual del concentrador y la red virtual de radio se comunican entre sí mediante un emparejamiento de red virtual.

  6. Para llegar al clúster de AKS privado, el tráfico entra en la red troncal de Azure. Un punto de conexión privado establece una conexión privada y aislada al clúster de AKS privado.

  7. El tráfico llega al servidor de API del clúster de AKS privado. Después, el usuario puede administrar pods, nodos y aplicaciones.

Nota

ExpressRoute requiere un proveedor de conectividad que no sea de Microsoft para proporcionar una conexión de emparejamiento a los enrutadores MSEE. tráfico de ExpressRoute no está cifrado.

Ejecución de la invocación del comando aks

Con un clúster privado de AKS, puede conectarse desde una máquina virtual que tenga acceso al servidor de API. Use el comando aks command invoke de la CLI de Azure para ejecutar comandos como kubectl o helm de forma remota a través de la API de Azure. Este enfoque crea un pod transitorio en el clúster, que solo dura durante el comando . El comando aks command invoke actúa como un método de conexión alternativo si carece de una red virtual vpn, ExpressRoute o emparejada. Asegúrese de que el clúster y el grupo de nodos tengan recursos suficientes para crear el pod transitorio.

Para obtener más información, consulte Uso de la invocación de comandos para acceder a un clúster de AKS privado.

Conexión de Cloud Shell a una subred

Al implementar Cloud Shell en una red virtual que controle, puede interactuar con los recursos dentro de esa red. La implementación de Cloud Shell en una subred que administra permite la conectividad con el servidor de API de un clúster privado de AKS. Esta implementación permite conectarse al clúster privado. Para más información, consulte Implementación de Cloud Shell en una red virtual de Azure.

Uso de SSH y Visual Studio Code para pruebas

SSH administra y accede de forma segura a los archivos de un host remoto mediante pares de claves públicas y privadas. Desde la máquina local, puede usar SSH con la extensión Remote - SSH de Visual Studio Code para conectarse a un jump box en la red virtual. El túnel SSH cifrado finaliza en la dirección IP pública del jump box, lo que facilita la modificación de los archivos de manifiesto de Kubernetes.

Para obtener información sobre cómo conectarse a su jump box a través de SSH, consulte Desarrollo remoto a través de SSH.

Si no puede conectarse a la máquina virtual a través de SSH para administrar el clúster privado:

  • Compruebe la regla de NSG de entrada para la subred de la máquina virtual. La regla de NSG predeterminada bloquea todo el tráfico entrante desde fuera de Azure, por lo que cree una nueva regla que permita el tráfico SSH desde la dirección IP pública del equipo local.

  • Compruebe la ubicación del certificado y compruebe la ubicación correcta de los certificados. Asegúrese de que la clave privada está en el directorio C:\Users\User\.ssh\id_rsa de la máquina local y de que la clave pública se encuentra en el archivo ~/.ssh/id_rsa.pub en la máquina virtual de Azure.

Nota

Le recomendamos que:

  • Evite usar una dirección IP pública para conectarse a recursos en entornos de producción. Use solo direcciones IP públicas en entornos de desarrollo o pruebas. En estos escenarios, cree una regla de NSG entrante para permitir el tráfico desde la dirección IP pública del equipo local. Para obtener más información sobre las reglas de NSG, consulte Crear, cambiar o eliminar un grupo de seguridad de red.

  • Evite usar SSH para conectarse directamente a nodos o contenedores de AKS. En su lugar, use una solución de administración externa dedicada. Esta práctica es especialmente importante cuando se usa el comando aks command invoke, que crea un pod transitorio dentro del clúster para el acceso proxy.

Conclusión

  • Puede acceder al servidor de API del clúster de AKS a través de Internet si el FQDN público está habilitado.

  • Cloud Shell es un shell de línea de comandos integrado en Azure Portal que puede usar para conectarse a un clúster de AKS.

  • Para un acceso más seguro, use Azure Bastion y un punto de conexión privado.

  • Las VPN y ExpressRoute proporcionan conectividad híbrida al clúster de AKS privado.

  • Si no hay ninguna solución de conectividad externa disponible, puede usar aks command invoke de forma remota.

  • Puede implementar Cloud Shell directamente en una red virtual que administre para acceder al clúster privado.

  • Puede usar Visual Studio Code con SSH en un jump box para cifrar la conexión y simplificar la modificación del archivo de manifiesto. Sin embargo, este enfoque expone una dirección IP pública en su entorno.

Colaboradores

Microsoft mantiene este artículo. Los colaboradores siguientes escribieron este artículo.

Autores principales:

Otros colaboradores:

Para ver perfiles de LinkedIn no públicos, inicie sesión en LinkedIn.

Pasos siguientes