Compartir a través de


Implementar redes definidas por software de Microsoft (SDN)

Se aplica a: AKS en Azure Stack HCI 22H2, AKS en Windows Server

En este artículo se describe cómo implementar máquinas virtuales de carga de trabajo e infraestructura de AKS en una red virtual de SDN mediante nuestro equilibrador de carga de software de SDN para todos los escenarios de equilibrio de carga de AKS Arc. AKS habilitado por Azure Arc ofrece una plataforma de contenedor totalmente compatible que puede ejecutar aplicaciones nativas de nube en la plataforma de orquestación de contenedores de Kubernetes. La arquitectura admite la ejecución de cargas de trabajo virtualizadas de Windows y Linux.

Limitaciones

Las siguientes características están fuera del ámbito y no se admiten en esta versión de disponibilidad general:

  • Conexión de pods y contenedores a una red virtual de SDN.
    • Los pods usan Flannel o Calico (valor predeterminado) como proveedor de red.
  • Aplicación de directivas de red mediante los grupos de seguridad de red de SDN.
    • Los grupos de seguridad de red de SDN todavía se pueden configurar fuera de AKS Arc mediante herramientas de SDN (REST/PowerShell/Windows Admin Center/SCVMM), pero los objetos NetworkPolicy de Kubernetes no los configuran.
  • Conexión de NIC de VM de AKS Arc a redes lógicas SDN.
  • Instalación mediante Windows Admin Center.
  • Host físico a la conectividad de máquina virtual de AKS Arc: las NIC de máquina virtual están unidas a una red virtual de SDN y, por tanto, no son accesibles desde el host de forma predeterminada. Por ahora, puede habilitar esta conectividad manualmente mediante la conexión de una dirección IP pública directamente a la máquina virtual mediante el equilibrador de carga de software de SDN.

Requisitos previos

Para implementar AKS habilitado por Arc con SDN, asegúrese de que el entorno cumpla los criterios de implementación de AKS Arc y SDN.

Nota:

La integración de SDN con AKS Arc solo requiere controladora de red y equilibrador de carga de software. Las máquinas virtuales de puerta de enlace son opcionales.

Instalación y preparación de SDN para AKS Arc

El primer paso es instalar SDN. Para instalar SDN, se recomiendan SDN Express o Windows Admin Center. Puede encontrar un archivo de configuración de referencia que implemente todos los componentes de infraestructura de SDN necesarios aquí: [Software Load Balancer.psd1][].

Una vez completada la implementación de SDN Express, debe haber una pantalla que notifique el estado como correcto.

Si algo salió mal o se notifica como incorrecto, consulte Solución de problemas de SDN.

Es importante que SDN tenga un estado correcto antes de continuar. Si implementa SDN en un nuevo entorno, también se recomienda crear máquinas virtuales de prueba y comprobar la conectividad con las DIRECCIONES VIP del equilibrador de carga. Consulte cómo crear y conectar máquinas virtuales a una red virtual de SDN mediante Windows Admin Center.

Pasos para instalar AKS

Inicialice y prepare todas las máquinas host físicas para AKS Arc. Consulte Implementación de un host de AKS para obtener las instrucciones más actualizadas.

Instalación del módulo de PowerShell de AKS-HCI

Consulte Instalación del módulo aksHci de PowerShell para obtener información sobre cómo instalar el módulo de PowerShell de AKS-HCI.

Nota:

Después de completar este paso, actualice o vuelva a cargar las sesiones abiertas de PowerShell para volver a cargar los módulos.

Registre el proveedor de recursos en la suscripción.

Para obtener información sobre cómo registrar el proveedor de recursos en su suscripción, consulte Instalación del módulo de PowerShell de AksHci.

Preparar las máquinas para la implementación

Para obtener información sobre cómo preparar las máquinas para la implementación, consulte Preparación de las máquinas para la implementación.

Configuración de AKS para la instalación

Elija una de las máquinas locales de Azure para impulsar la creación de AKS Arc. Hay tres pasos que deben realizarse antes de la instalación:

  1. Configure las opciones de red de AKS para SDN; por ejemplo, con:

    1. Red virtual de SDN "10.20.0.0/24" (10.20.0.0 – 10.20.0.255). Una red virtualizada y puede usar cualquier subred IP. Esta subred no necesita existir en la red física.
    2. Nombre de vSwitch "Externo". VSwitch externo en las máquinas locales de Azure. Asegúrese de usar el mismo vSwitch que se usó para la implementación de SDN.
    3. Puerta de enlace "10.20.0.1". Esta dirección es la puerta de enlace de la red virtual.
    4. Servidor DNS "10.127.130.7". El servidor DNS de la red virtual.
    $vnet = New-AksHciNetworkSetting –name "myvnet" –vswitchName "External" -k8sNodeIpPoolStart "10.20.0.2" -k8sNodeIpPoolEnd "10.20.0.255"
    -ipAddressPrefix "10.20.0.0/24" -gateway "10.20.0.1" -dnsServers "10.127.130.7"
    
    Parámetro Descripción
    -name Nombre de la red virtual en AKS habilitado por Arc (debe estar en minúsculas).
    -vswitchName Nombre de vSwitch externo en las máquinas locales de Azure. Use el mismo vSwitch que se usó para la implementación de SDN.
    -k8sNodeIpPoolStart
    -k8sNodeIpPoolEnd
    Intervalo de inicio y finalización ip de la red virtual de SDN.
    -ipAddressPrefix Subred de red virtual en notación CIDR.
    -gateway
    -dnsServers
    Puerta de enlace y servidor DNS de la red virtual de SDN.

    Para obtener más información sobre estos parámetros, vea New-AksHciNetworkSetting.

  2. En la misma ventana de PowerShell que usó en el paso 1, cree un grupo de VIP para informar a AKS de nuestras direcciones IP que se pueden usar desde nuestra red lógica de equilibrio de carga de SDN:

    $VipPool = New-AksHciVipPoolSetting -name "publicvip" -vipPoolStart "10.127.132.16" -vipPoolEnd "10.127.132.23
    
    Parámetro Descripción
    -name Red lógica "PublicVIP" que proporcionó al configurar equilibradores de carga de SDN. Dentro del cmdlet, este nombre debe estar en minúsculas.
    -vipPoolStart Intervalo de inicio IP de la red lógica que se usa para el grupo de VIP del equilibrador de carga público. Debe usar un intervalo de direcciones desde la red lógica de SDN "PublicVIP".
    -vipPoolEnd Intervalo de extremo IP de la red lógica que se usa para el grupo de VIP del equilibrador de carga público. Debe usar un intervalo de direcciones desde la red lógica de SDN "PublicVIP".
  3. En la misma ventana de PowerShell que se usa en el paso 2, cree la configuración de AKS para SDN proporcionando referencias a las redes SDN de destino y proporcione la configuración de red ($vnet, $vipPool) que definimos anteriormente:

    Set-AksHciConfig 
    –imageDir "C:\ClusterStorage\Volume1\ImageStore" 
    –workingDir "C:\ClusterStorage\Volume1\WorkDir"
    –cloudConfigLocation "C:\ClusterStorage\Volume1\Config" 
    –vnet $vnet –useNetworkController
    –NetworkControllerFqdnOrIpAddress "nc.contoso.com" 
    –networkControllerLbSubnetRef "/logicalnetworks/PublicVIP/subnets/my_vip_subnet" 
    –networkControllerLnetRef "/logicalnetworks/HNVPA" 
    -vipPool $vipPool
    

    La red lógica HNVPA se usa como proveedor subyacente para la red virtual de AKS Arc.

    Si usa una asignación de direcciones IP estáticas para los nodos del clúster local de Azure, también debe proporcionar el CloudServiceCidr parámetro . Este parámetro es la dirección IP del servicio en la nube MOC y debe estar en la misma subred que los nodos de clúster local de Azure. Para obtener más información, consulte Servicio en la nube local de Microsoft.

    Parámetro Descripción
    –imageDir Ruta de acceso a donde AKS Arc almacena sus imágenes de VHD. Esta ruta de acceso debe ser una ruta de acceso de almacenamiento compartida o un recurso compartido SMB.
    –workingDir Ruta de acceso a donde se almacenan los archivos pequeños del módulo. Esta ruta de acceso debe ser una ruta de acceso de almacenamiento compartida o un recurso compartido SMB.
    -cloudConfigLocation Ruta de acceso al directorio donde se almacena la configuración del agente en la nube. Esta ruta de acceso debe ser una ruta de acceso de almacenamiento compartida o un recurso compartido SMB.
    -vnet Nombre de la AksHciNetworkSetting variable creada en el paso anterior
    -useNetworkController Habilite la integración con SDN.
    -networkControllerFqdnOrIpAddress FQDN de la controladora de red. Para obtener el FQDN, ejecute en la máquina virtual de controladora Get-NetworkController de red y use el RestName parámetro .
    -networkControllerLbSubnetRef Referencia a la subred de red lógica vip pública configurada en la controladora de red. Para obtener esta subred, ejecute el Get-NetworkControllerLogicalSubnet cmdlet . Al usar este cmdlet, use PublicVIP como .LogicalNetworkId Los VipPoolStart parámetros y vipPoolEnd del New-AksHciVipPoolSetting cmdlet deben formar parte de la subred a la que se hace referencia aquí.
    -networkControllerLnetRef Normalmente, este valor es "/logicalnetworks/HNVPA".
    -vipPool Grupo de VIP que se usa como direcciones IP de front-end para el equilibrio de carga.

    Para obtener más información sobre estos parámetros, vea Set-AksHciConfig.

Inicio de sesión en Azure y configuración de las opciones de registro

Siga las instrucciones que se indican aquí para configurar las opciones de registro.

Nota:

Si no tiene permisos de propietario, se recomienda usar una entidad de servicio de Azure.

Instalación de AKS

Una vez completada la configuración de AKS, estará listo para instalar AKS en Azure Local.

Install-AksHci

Una vez que la instalación se realiza correctamente, se crea una máquina virtual del plano de control (clúster de administración) y su VmNIC está conectado a la red sdn.

Recopilación de registros de un SDN y AKS en el entorno local de Azure

Con SDN y AKS en Azure Local, obtenemos aislamiento de los nodos de AKS en redes virtuales. Dado que están aislados, debemos importar un nuevo script de recopilación de registros de AKS-HCI de SDN y ejecutar un comando modificado que use el equilibrador de carga para recuperar registros de los nodos:

Install-Module -Name AksHciSdnLogCollector -Repository PSGallery
Get-AksHciLogsSdn

Comentarios y problemas

Consulte los recursos de autoayuda aquí para SDN y aquí para AKS-HCI.

Pasos siguientes

A continuación, puede crear clústeres de cargas de trabajo e implementar las aplicaciones. Todas las NIC de máquina virtual de AKS en AKS habilitadas por Arc están conectadas sin problemas a la red virtual de SDN que se proporcionó durante la instalación. El equilibrador de carga de SOFTWARE de SDN también se usa como equilibrador de carga externo para todos los servicios de Kubernetes y actúa como equilibrador de carga para el servidor de API en planos de control de Kubernetes.