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 Directiva.

En el archivo de configuración de NCP ncp.ini, debe especificar los recursos de NSX-T usando sus identificadores de recursos. Por lo general, el nombre y el identificador de un recurso son iguales. Para estar completamente seguro, en la interfaz de usuario web de NSX Manager, haga clic en el icono de 3 puntos que muestra las opciones de un recurso y seleccione Copiar ruta de acceso en el portapapeles. Pegue la ruta en una aplicación, como el Bloc de notas. La última parte de la ruta de acceso es el identificador de recurso.

Puertas de enlace y segmento

  1. Cree un segmento para los nodos de Kubernetes, por ejemplo, Segment1.
  2. Cree una puerta de enlace de nivel 0, por ejemplo, T0GW1. Configure la opción top_tier_router en la sección [nsx_v3] de ncp.ini con el identificador de la puerta de enlace 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 esta puerta de enlace. De lo contrario, establézcalo en activo-activo. Habilite la redistribución de rutas. Configure también esta puerta de enlace para acceder a la red externa.
  3. Cree una puerta de enlace de nivel 1, por ejemplo, T1GW1. Conecte esta puerta de enlace a la puerta de enlace de nivel 0.
  4. Configure el anuncio de enrutador para T1GW1. Como mínimo, deben estar habilitadas las rutas NAT y conectadas por NSX.
  5. Conecte T1GW1 a Segment1. Asegúrese de que la dirección IP del puerto de la puerta de enlace 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 segmento (Segment1).
NCP debe conocer el identificador de la VIF de la vNIC. Vaya a Redes > Segmentos para ver los puertos del segmento 1 creados automáticamente. Estos puertos no se pueden editar, excepto por la propiedad de su etiqueta. Estos puertos deben tener las etiquetas que se indican a continuación. 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
Estas etiquetas se propagan automáticamente a los puertos de los conmutadores lógicos correspondientes. 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 > Administración de direcciones IP > Grupos de direcciones IP > Bloques 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. Si desea que NCP cree automáticamente bloques de IP, puede establecer la opción container_ip_blocks con una lista de direcciones separadas por comas en formato CIDR. Tenga en cuenta que no puede establecer container_ip_blocks para los UUID y también para las direcciones CIDR.

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.

No debe modificar el bloque de direcciones IP si NCP ha iniciado direcciones IP asignadas desde él. Si desea utilizar un bloque diferente, asegúrese de que NCP no haya asignado ninguna dirección del bloque.

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 > Administración 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. Si desea que NCP cree automáticamente grupos de IP, puede establecer la opción external_ip_pools con una lista de direcciones separadas por comas en formato CIDR IP o rangos de IP. Tenga en cuenta que no puede establecer external_ip_pools para los UUID y también para las direcciones CIDR.

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.

No debe modificar el grupo de direcciones IP si NCP ha iniciado direcciones IP asignadas desde él. Si desea utilizar otro grupo, asegúrese de que NCP no haya asignado ninguna dirección del grupo.

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 para el identificador de una puerta de enlace de nivel 1. Conecte la puerta de enlace de nivel 1 a una puerta de enlace de nivel 0 para las conexiones externas.
  • Si se habilita SNAT para el tráfico del pod, modifique el vínculo superior del segmento para los nodos de Kubernetes a la misma puerta de enlace de nivel 0 o nivel 1 que se estableció en top_tier_router.
  • Establezca la opción single_tier_topology en el valor True. El valor predeterminado es False.
  • Si desea que NCP configure automáticamente el enrutador de nivel superior como una puerta de enlace de nivel 1, anule la opción top_tier_router y establezca la opción tier0_gateway. NCP creará una puerta de enlace de nivel 1 y la vinculará a la puerta de enlace de nivel 0 especificada en la opción tier0_gateway.