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.
- Requisitos de AKS Arc
- Requisitos de SDN: Planear una infraestructura de red definida por software
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:
Configure las opciones de red de AKS para SDN; por ejemplo, con:
- 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.
- 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.
- Puerta de enlace "10.20.0.1". Esta dirección es la puerta de enlace de la red virtual.
- 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.
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". 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 elRestName
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, usePublicVIP
como .LogicalNetworkId
LosVipPoolStart
parámetros yvipPoolEnd
delNew-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.