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 TKG en el Supervisor.

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

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

  3. Anule la selección de Modo NAT.
  4. Rellene el campo Red de espacio de nombres con una subred enrutable. NCP creará uno o varios grupos de direcciones IP a partir de los bloques de IP especificados para la red.
  5. Asegúrese de que la red de espacio de nombres enrutable que agregó no se superponga con el CIDR de servicios que asigna las direcciones IP para los nodos de clúster.

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