Puede crear un clúster de Tanzu Kubernetes con redes de pods enrutables si configura una red de espacio de nombres enrutable en Supervisor y especifica antrea-nsx-routed como CNI para el clúster.

Acerca de las redes de pods enrutables

Cuando se aprovisiona un clúster de Tanzu Kubernetes mediante los complementos de CNI antrea o calico, el sistema crea la red de pods predeterminada 192.168.0.0/16. Esta subred es un espacio de direcciones privadas que solo es único dentro del clúster y que no se puede enrutar en la red.

La API v1alpha3 de TKG admite redes de pods enrutables mediante el complemento de CNI de antrea-nsx-routed. Esta interfaz de red es un complemento de Antrea personalizado configurado para admitir redes de pods enrutables para clústeres de TKG. En la especificación de clúster, el campo de bloques CIDR de pods debe ser explícitamente nulo para que la administración de direcciones IP (IPAM) se controle mediante Supervisor. Consulte el ejemplo a continuación.

Habilitar redes de pods enrutables permite que los pods se direccionen directamente desde un cliente externo al clúster. Además, las direcciones IP de los pods se conservan para que los servidores y los servicios de red externos puedan identificar los pods de origen y aplicar directivas basadas en direcciones IP. Patrones de tráfico compatibles, incluidos los siguientes:
  • Se permite el tráfico entre un pod de clúster de TKG y un pod de vSphere en el mismo espacio de nombres de vSphere.
  • El tráfico se descarta entre un pod de clúster de TKG y un pod de vSphere en diferentes espacios de nombres de vSphere.
  • Los nodos de plano de control de Supervisor pueden acceder a los pods del clúster de TKG.
  • Los pods del clúster de TKG pueden comunicarse con la red externa.
  • La red externa no puede acceder a los pods del clúster de TKG. Las reglas de aislamiento de firewall distribuido (DFW) descartan el tráfico en los nodos de clúster.

Crear una red de pods enrutables: configuración de Supervisor

Para crear una red de pods enrutables se requiere la configuración en el Supervisor y en el clúster de TKG.
Nota: El Supervisor debe configurarse con NSX para usar redes de pods enrutables. No se pueden utilizar pods enrutables con redes de VDS.
Para configurar una red de pods enrutables en Supervisor:
  1. Cree un nuevo espacio de nombres de vSphere.

    Consulte Crear un espacio de nombres de vSphere para alojar clústeres de Servicio TKG.

  2. Seleccione la opción de casilla de verificación para Anular configuración de red de supervisor.

    Consulte Anular la configuración de la red de cargas de trabajo para un espacio de nombres de vSphere para obtener instrucciones.

  3. Configure la red de pods enrutables de la siguiente manera.
    Campo Descripción
    Modo NAT Anule la selección de esta opción para deshabilitar la traducción de direcciones de red (Network Address Translation, NAT), ya que está utilizando una subred enrutable.
    CIDR de red de espacio de nombres

    El CIDR de red de espacio de nombres es una subred que funciona como un grupo de direcciones IP para el espacio de nombres de vSphere. El prefijo de subred de espacio de nombres describe el tamaño de cualquier bloque CIDR posterior separado de ese grupo de direcciones IP.

    Rellene este campo con una subred IP enrutable con el formato Dirección IP/Bits (p. ej., 10.0.0.6/16). NCP creará uno o varios grupos de direcciones IP a partir de los bloques de IP especificados para la red.

    Como mínimo, debe especificar un tamaño de subred /23. Por ejemplo, si especifica una subred enrutable /23 con un prefijo de subred /28, obtendrá 32 subredes que deberían ser suficientes para un clúster de 6 nodos. Una subred /24 con un prefijo /28 solo obtendrá 2 subredes, que no son suficientes.

    Prefijo de subred de espacio de nombres

    El prefijo de subred de espacio de nombres describe el tamaño de cualquier bloque CIDR posterior separado del grupo de direcciones IP de la red de espacio de nombres.

    Especifique un prefijo de subred con el formato /28, por ejemplo.

  4. Haga clic en Crear para crear la red de pods enrutables.

Crear una red de pods enrutables: configuración de un clúster de TKG

El siguiente ejemplo de YAML muestra cómo configurar un clúster con una red de pods enrutable.

La especificación del clúster declara antrea-nsx-routed como la CNI para habilitar las redes de pods enrutables. Si se especifica antrea-nsx-routed, se producirá un error en el aprovisionamiento del clúster si no se utilizan redes de NSX-T.

Cuando se especifica la CNI como antrea-nsx-routed, el campo pods.cidrBlock debe estar vacío.
apiVersion: run.tanzu.vmware.com/v1alpha3
kind: TanzuKubernetesCluster
metadata:
  name: tkc-routable-pods
  namespace: tkg-cluster-ns
spec:
  topology:
    controlPlane:
      replicas: 3
      vmClass: guaranteed-medium
      storageClass: tkg-storage-policy
      tkr:  
        reference:
          name: v1.25.7---vmware.3-fips.1-tkg.1
    nodePools:
    - name: worker-nodepool-a1
      replicas: 3
      vmClass: guaranteed-large
      storageClass: tkg-storage-policy
      tkr:  
        reference:
          name: v1.25.7---vmware.3-fips.1-tkg.1
  settings:
    storage:
      defaultClass: tkg-storage-policy
    network:
      #antrea-nsx-routed is the required CNI
      cni:
        name: antrea-nsx-routed
      services:
        cidrBlocks: ["10.97.0.0/24"]
      #pods.cidrBlocks must be null (empty)
      pods:
        cidrBlocks:
      serviceDomain: cluster.local