Redes de AKS Edge Essentials
En este artículo se describe cómo configurar las redes entre el sistema operativo host de Windows y las máquinas virtuales de los nodos linux y Windows. Para más información sobre la arquitectura de AKS Edge Essentials, consulte la introducción a AKS Edge Essentials.
Sugerencia
En la guía siguiente se describen los distintos conceptos y configuraciones de red disponibles en AKS Edge Essentials. Si usa un único clúster de máquina, el instalador y el mecanismo de implementación controlan toda la configuración de red necesaria. No se necesitan pasos ni configuraciones adicionales para implementar el clúster.
Redes
En esta guía se da por supuesto que tiene control sobre la red y el enrutador (es decir, en una configuración principal). Si está en un entorno corporativo, le recomendamos que pida al administrador de red una variedad de direcciones IP gratuitas (desde la misma subred) a las que se pueda acceder en Internet.
Para establecer un canal de comunicación entre el sistema operativo host de Windows y las máquinas virtuales Linux y Windows, usamos una pila de redes de Hyper-V. Para obtener más información sobre las redes de Hyper-V, consulte Conceptos básicos de redes de Hyper-V.
Los siguientes conceptos clave de red para AKS Edge Essentials se alinean con los conceptos de Kubernetes:
- Conmutador virtual: componente de Hyper-V que permite que las máquinas virtuales creadas en hosts de Hyper-V se comuniquen con otros equipos. Para obtener más información, consulte Creación y configuración de un conmutador virtual con Hyper-V. AKS Edge Essentials admite dos tipos de conmutadores virtuales:
- Interno: se conecta a una red que solo las máquinas virtuales que se ejecutan en el sistema operativo host de Windows que tiene el conmutador virtual y entre el sistema operativo host y las máquinas virtuales.
- Externo: se conecta a una red física cableada mediante el enlace a un adaptador de red físico. Proporciona a las máquinas virtuales acceso a una red física para comunicarse con dispositivos en una red externa. Además, permite que las máquinas virtuales del mismo servidor de Hyper-V se comuniquen entre sí.
- Dirección IP del punto de conexión del plano de control: el plano de control de Kubernetes es accesible desde esta dirección IP. Debe proporcionar una única dirección IP gratuita durante toda la vigencia del clúster para el plano de control de Kubernetes.
- Intervalo de direcciones IP de servicio: el intervalo IP del servicio es un grupo de direcciones IP reservadas que se usan para asignar direcciones IP a los servicios de Kubernetes (los servicios o cargas de trabajo de Kubernetes), a fin de que las aplicaciones sean accesibles.
- Dirección IP de máquina virtual: en AKS Edge Essentials, los nodos de Kubernetes se implementan como máquinas virtuales especializadas, que necesitan direcciones IP. Debe asignar direcciones IP gratuitas a estas máquinas virtuales.
Redes por tipo de implementación
Si AKS Edge Essentials se implementa mediante un único clúster de máquina o un clúster escalable, se admiten distintos tipos de conmutadores, asignación de direcciones IP y configuraciones, como se muestra en la tabla siguiente.
Clúster de una sola máquina | Clúster escalable | |
---|---|---|
Tipo de conmutador virtual | Internos | Externos |
Creación de conmutadores virtuales | Automático | Manualmente por usuario o automáticamente en función del nombre del adaptador de red físico. |
Asignación de dirección IP | Automático: direcciones definidas | Direcciones IP estáticas configuradas por el usuario. |
Conexiones salientes | Uso del conmutador virtual | Uso directo del adaptador de red físico. |
Conexiones entrantes | No accesible | Uso de la dirección IP de la máquina virtual. |
DNS | Configurable mediante el DnsServers parámetro , si no se proporciona, use servidores DNS de host de Windows. |
Configurable mediante DnsServers el parámetro : si no se proporciona, use servidores DNS de host de Windows. |
Proxy | Configurable mediante los http_proxy parámetros , https_proxy y no_proxy . |
Configurable mediante http_proxy parámetros y https_proxy no_proxy . |
Implementación sin conexión | Se admite mediante el InternetDisabled parámetro . |
Se admite mediante el InternetDisabled parámetro . |
Intervalo IP del servicio | Si se define el ServiceIPRangeSize parámetro , comienza en 192.168.0.4. |
Se pueden definir los ServiceIPRangeStart parámetros y ServiceIPRangeSize . |
Dirección MAC estática | Se admite mediante el MacAddress parámetro . |
Se admite mediante el MacAddress parámetro . |
Unidad de transmisión máxima (MTU) | Se admite mediante el MTU parámetro . |
Se admite mediante el MTU parámetro . |
Importante
Kubernetes pod cidr
es 10.42.0.0/16
para K3s y 10.244.0.0/24
para K8s. Kubernetes service cidr
es 10.43.0.0/16
para K3s y 10.96.0.0/12
para K8s.
Clúster de una sola máquina
Las implementaciones de una sola máquina usan un conmutador virtual interno para administrar las redes. Este tipo de implementación debe tener un nodo de Linux; el nodo de Windows es opcional. En el diagrama siguiente se muestra una única arquitectura de implementación de máquina mediante un conmutador virtual interno:
Durante la implementación de una sola máquina, AKS Edge Essentials crea un conmutador virtual interno denominado aksedgesw-int, así como los adaptadores de red virtual adecuados para conectar las máquinas virtuales y el sistema operativo host de Windows. La configuración también controla la asignación de direcciones IP y la traducción de direcciones para las NIC. Por ejemplo, las direcciones IP de las NIC virtuales se pueden definir de la siguiente manera:
- Sistema operativo host de Windows: 192.168.0.1
- Máquina virtual de nodo Linux: 192.168.0.2
- Máquina virtual de nodo windows: 192.168.0.3
- Las direcciones IP del servicio comienzan: 192.168.0.4
La familia de direcciones 192.168.0.0/24 puede cambiar en función del conmutador virtual interno; sin embargo, los nodos y el sistema operativo host siempre tendrán el mismo sufijo: sistema operativo host (.1), máquina virtual Linux (.2), máquina virtual Windows (.3) e inicio de ServiceIP (.4).
Por último, mediante la traducción de direcciones, el tráfico puede acceder a la red externa mediante el adaptador de red físico. En el diagrama anterior se muestra una red externa que usa la familia de direcciones IP 10.0.0.0/24 , pero esto depende del entorno de red en el que está instalado el dispositivo.
Clúster escalable
En las implementaciones de clúster escalables, los nodos que se ejecutan dentro de los distintos dispositivos deben comunicarse entre sí. Por lo tanto, todos los nodos deben estar conectados a la misma red. Para lograr esta comunicación de nodo a nodo entre dispositivos, las implementaciones de clúster escalables de AKS Edge Essentials usan conmutadores virtuales externos. En el diagrama siguiente se muestra una arquitectura de implementación de varias máquinas mediante un conmutador virtual externo:
Para iniciar este tipo de implementación, debe proporcionar los siguientes parámetros de red durante la implementación:
- AdapterName: nombre del adaptador físico conectado a la red externa. Puede ejecutar el comando de PowerShell
Get-NetAdapter -Physical
para ver laName
columna del adaptador que prefiera. - Ip4Address: especifique la dirección IP que toma la máquina virtual. Cada nodo necesita su propia dirección IP única.
Una vez finalizada la implementación, todos los nodos y el sistema operativo host de Windows se conectarán a la red externa mediante el mismo conmutador virtual externo. Dado que los nodos están conectados directamente a la red, no es necesario realizar la traducción de direcciones. En el diagrama anterior se muestra una arquitectura de red que usa la familia de direcciones IP 192.168.0.0/24 ; sin embargo, esto depende del entorno de red en el que están instalados los dispositivos.
Para más información sobre la configuración de clúster escalable, consulte Implementaciones completas de Kubernetes en AKS Edge Essentials y Escalado horizontal en varias máquinas.
Otros conceptos de redes
DNS
El sistema de nombres de dominio (DNS) traduce nombres de dominio legibles (por ejemplo, www.microsoft.com
) a direcciones IP legibles por máquina (por ejemplo, 192.0.2.44
). La máquina virtual Linux de AKS Edge Essentials usa systemd (system and service manager), por lo que los servicios de resolución de nombres o DNS se proporcionan a aplicaciones y servicios locales a través del servicio resuelto por el sistema. El nodo de Windows usa el servicio DNS de red de Windows predeterminado.
De forma predeterminada, durante la implementación de AKS Edge Essentials, puede proporcionar la lista de servidores DNS mediante el DnsServers
parámetro . Si no se proporciona ninguna dirección, el mecanismo de implementación busca los servidores DNS del sistema operativo host de Windows (compruebe el uso ipconfing /all
de ) y use esas direcciones de servidor.
Es posible comprobar los servidores DNS que se usan para los nodos de Linux y Windows. Para ello, con una sesión de PowerShell con privilegios elevados, ejecute el siguiente cmdlet:
Para los nodos de máquina virtual Linux:
Invoke-AksEdgeNodeCommand -NodeType Linux -command "resolvectl status"
La salida del comando muestra una lista de los servidores DNS configurados para cada interfaz de máquina virtual Linux. En concreto, es importante comprobar el estado de la interfaz eth0 , que es la interfaz predeterminada para la comunicación de máquina virtual de AKS EE. Además, asegúrese de comprobar las direcciones IP de los campos Servidor DNS actual y Servidores DNS de la lista. Si no hay ninguna dirección IP o la dirección IP no es una dirección IP de servidor DNS válida, el servicio DNS no funcionará.
Para los nodos de máquina virtual Windows:
Invoke-AksEdgeNodeCommand -NodeType Windows -command "ipconfig /all"
La salida del comando muestra una lista de las interfaces de red de máquinas virtuales Windows configuradas. En concreto, es importante comprobar el estado de la interfaz vEthernet (Ethernet) del adaptador Ethernet, que es la interfaz predeterminada para la comunicación de máquina virtual de AKS Edge Essentials. Además, asegúrese de comprobar las direcciones IP del campo Servidores DNS de la lista. Si no hay ninguna dirección IP o la dirección IP no es una dirección IP de servidor DNS válida, el servicio DNS no funcionará.
Proxy
Un servidor proxy es software dedicado que actúa como puerta de enlace entre un cliente e Internet. Procesa las solicitudes de red como intermediario: cuando se conecta a un servidor proxy, el equipo envía solicitudes al servidor en lugar de directamente al destinatario. AKS Edge Essentials admite la configuración de servidores proxy para las máquinas virtuales Linux y Windows.
De forma predeterminada, durante la implementación de AKS Edge Essentials, puede proporcionar la configuración del proxy mediante los Proxy.Http
parámetros , Proxy.Https
y Proxy.No
. Si no se proporciona ningún parámetro, el mecanismo de implementación configura la no_proxy
marca con las redes internas de Kubernetes necesarias.
Para los nodos de máquina virtual Linux:
Invoke-AksEdgeNodeCommand -NodeType Linux -command 'env | grep proxy'
Para los nodos de máquina virtual Windows:
Invoke-AksEdgeNodeCommand -NodeType Windows -command 'netsh winhttps show proxy'
Dirección MAC estática
Hyper-V permite crear máquinas virtuales con una dirección MAC estática o dinámica. Durante la creación de máquinas virtuales de AKS Edge Essentials, puede proporcionar la dirección MAC de la máquina virtual mediante el MacAddress
parámetro . Si no se proporciona ningún valor, la dirección MAC se genera y almacena localmente para mantener la misma dirección entre máquinas virtuales o reinicios del host de Windows. Para consultar la dirección MAC de la máquina virtual de AKS Edge Essentials, puede usar el siguiente comando:
Para los nodos de máquina virtual Linux:
Get-AksEdgeNodeAddr -NodeType Linux
Para los nodos de máquina virtual Windows:
Get-AksEdgeNodeAddr -NodeType Windows