Existen dos formas para configurar ciertos recursos de red de NCP. En esta sección se describe cómo configurar los recursos en el modo Manager.

En el archivo de configuración de NCP ncp.ini, puede especificar los recursos de NSX mediante sus UUID o sus nombres.

Enrutadores lógicos y conmutadores lógicos

  1. Cree un conmutador lógico para los nodos de Kubernetes, por ejemplo, LS1.
  2. Cree un enrutador lógico de nivel 0, por ejemplo, T0LR1. Configure la opción tier0_router en la sección [nsx_v3] de ncp.ini con el identificador del enrutador lógico si no tiene ninguna topología de nivel 1 compartida. Consulte a continuación información sobre la configuración de una topología de nivel 1 compartida. Establezca el modo de alta disponibilidad en activo-en espera si tiene previsto configurar reglas NAT en este enrutador lógico. De lo contrario, establézcalo en activo-activo. Habilite la redistribución de rutas. Configure también este enrutador para acceder a la red externa.
  3. Cree un enrutador lógico de nivel 1, por ejemplo, T1LR1. Conecte este enrutador lógico al enrutador lógico de nivel 0.
  4. Configure el anuncio de enrutador para T1LR1. Como mínimo, deben estar habilitadas las rutas NAT y conectadas por NSX.
  5. Conecte T1LR1 a LS1. Asegúrese de que la dirección IP del puerto del enrutador lógico no entre en conflicto con las direcciones IP de los nodos de Kubernetes.
  6. Para cada máquina virtual del nodo, asegúrese de que el vNIC del tráfico de los contenedores esté conectado al conmutador lógico que se crea automáticamente. Puede encontrarlo en la pestaña Redes con el mismo nombre que el conmutador lógico (LS1).
NCP debe conocer el identificador de la VIF de la vNIC. Los puertos de conmutadores lógicos deben tener las dos siguientes etiquetas: En una etiqueta, especifique el nombre del nodo. En la otra etiqueta, especifique el nombre del clúster. Para especificar el ámbito, utilice los valores adecuados que se indican a continuación.
Etiqueta Ámbito
Nombre del nodo ncp/node_name
Nombre del clúster ncp/cluster
Si el nombre del nodo cambia, deberá actualizar la etiqueta. Para recuperar el nombre del nodo, puede ejecutar el siguiente comando:
kubectl get nodes

Si desea ampliar el clúster de Kubernetes mientras se está ejecutando NCP, por ejemplo, agregando más nodos al clúster, deberá agregar las etiquetas a los puertos de conmutador correspondientes antes de ejecutar "kubeadm join". Si olvida añadir las etiquetas antes de ejecutar "kubeadm join", los nuevos nodos no tendrán conectividad. En este caso, debe agregar las etiquetas y reiniciar NCP para resolver el problema.

Para identificar el puerto del conmutador de una máquina virtual de nodo, puede hacer la siguiente llamada API:
/api/v1/fabric/virtual-machines
En la respuesta, busque la máquina virtual del nodo y recupere el valor del atributo "external_id". O bien, puede hacer la siguiente llamada API:
/api/v1/search -G --data-urlencode "query=(resource_type:VirtualMachine AND display_name:<node_vm_name>)"
Una vez que tenga el identificador externo, puede utilizarlo para recuperar la VIF de la máquina virtual con la siguiente API. Tenga en cuenta que las VIF no se rellenan hasta que se inicia la máquina virtual.
/api/v1/search -G --data-urlencode \
"query=(resource_type:VirtualNetworkInterface AND external_id:<node_vm_ext_id> AND \
_exists_:lport_attachment_id)"

El atributo lport_attachment_id es el identificador de la VIF de la máquina virtual del nodo. A continuación, puede encontrar el puerto lógico para esta VIF y agregar las etiquetas necesarias.

Bloques de IP para los pods de Kubernetes

Vaya Redes > Grupos de direcciones IP para crear uno o varios bloques de IP. Especifique el bloque de IP en formato CIDR Configure la opción container_ip_blocks en la sección [nsx_v3] de ncp.ini para los UUID de los bloques de IP.

De forma predeterminada, los proyectos comparten bloques de IP especificados en container_ip_blocks. Puede crear bloques de IP específicamente para espacios de nombres no SNAT (en Kubernetes) o clústeres (en TAS) si configura la opción no_snat_ip_blocks en la sección [nsx_v3] de ncp.ini.

Si crea bloques de IP que no sean SNAT mientras NCP se ejecuta, debe reiniciar NCP. De lo contrario, NCP seguirá usando los bloques de IP compartidos hasta que se agoten.

Cuando cree un bloque de IP, el prefijo no debe tener una longitud superior al valor de la opción subnet_prefix en el archivo de configuración de NCP ncp.ini. El valor predeterminado es 24.

NCP asignará subredes adicionales para un espacio de nombres si se ha agotado la subred asignada originalmente.

Grupos de direcciones IP externas

El grupo de direcciones IP externas se usa para asignar las direcciones IP que se usarán para traducir las IP de los pods mediante reglas SNAT y para exponer los controladores de entrada y los servicios de tipo LoadBalancer a través de reglas SNAT/DNAT, igual que las IP flotantes de OpenStack. Estas direcciones IP también se denominan "IP externas".

Vaya Redes > Grupos de direcciones IP > Grupos de direcciones IP para crear un grupo de direcciones IP. Configure la opción external_ip_pools en la sección [nsx_v3] de ncp.ini para los UUID de los grupos de direcciones IP.

Varios clústeres de Kubernetes usan el mismo grupo de IP externas. Cada instancia de NCP usa un subgrupo de este grupo para el clúster de Kubernetes que administra. De forma predeterminada, se usará el mismo prefijo de subred para subredes de pods. Para usar un tamaño de subred diferente, actualice la opción external_subnet_prefix en la sección [nsx_v3] de ncp.ini.

Puede utilizar otro grupo de direcciones IP cambiando el archivo de configuración y reiniciando NCP.

Topología de nivel 1 compartida

Para habilitar una topología de nivel 1 compartida, realice las siguientes configuraciones:
  • Establezca la opción top_tier_router con el identificador de un enrutador lógico de nivel 0 o de nivel 1. Si se trata de un enrutador lógico de nivel 1, deberá conectarlo a un enrutador lógico de nivel 0 para conexiones externas. Esta opción reemplaza la opción tier0_router.
  • Si está habilitado SNAT para tráfico de pod, desconecte T1LR1 de LS1 (el conmutador lógico de los nodos de Kubernetes) y conecte el enrutador de nivel 0 o 1 establecido en top_tier_router a LS1.
  • Establezca la opción single_tier_topology en el valor True. El valor predeterminado es False.

(Opcional) (Solo para Kubernetes) Secciones de marcador de firewall

Para que el administrador pueda crear reglas de firewall que no interfieran con las secciones de firewall creadas por NCP en función de las directivas de red, acceda a Seguridad > Firewall distribuido > General y cree dos secciones de firewall.

Especifique secciones de firewall del marcador configurando las opciones bottom_firewall_section_marker y top_firewall_section_marker en la sección [nsx_v3] de ncp.ini.

La sección del firewall inferior debe estar bajo la sección del firewall superior. Con estas secciones del firewall, todas las secciones del firewall creadas por NCP para el aislamiento se crearán sobre la sección del firewall inferior, y todas las secciones del firewall creadas por NCP para la directiva se crearán bajo la sección del firewall superior. Si no se crean estas secciones de marcador, todas las reglas de aislamiento se crearán en la parte inferior, y todas las secciones de la directiva se crearán en la parte superior. No puede haber varias secciones del firewall de marcador con el mismo valor en cada clúster, ya que se producirá un error.