Vous pouvez créer un cluster Tanzu Kubernetes avec mise en réseau des espaces routables en configurant un réseau d'espace de noms routable sur le Superviseur et en spécifiant antrea-nsx-routed comme CNI pour le cluster.

À propos de la mise en réseau des espaces routables

Lorsque vous provisionnez un cluster Tanzu Kubernetes à l'aide des plug-ins CNI antrea ou calico, le système crée le réseau d'espaces par défaut 192.168.0.0/16. Ce sous-réseau est un espace d'adresse privé qui n'est unique qu'au sein du cluster et non routable sur le réseau.

L'API v1alpha3 du TKG du prend en charge la mise en réseau d'espaces routables à l'aide du plug-in CNI antrea-nsx-routed. Cette interface réseau est un plug-in Antrea personnalisé configuré pour prendre en charge les réseaux d'espaces routables pour les clusters TKG. Dans la spécification du cluster, le champ des blocs CIDR des espaces doit être explicitement null pour que la gestion d'adresses IP (IPAM) soit gérée par le Superviseur. Reportez-vous à l'exemple ci-dessous.

L'activation de la mise en réseau d'espaces routables permet aux espaces d'être adressés directement depuis un client externe au cluster. En outre, les adresses IP des espaces sont conservées afin que les services réseau et les serveurs externes puissent identifier les espaces source et appliquer des stratégies basées sur les adresses IP. Modèles de trafic pris en charge, y compris les éléments suivants :
  • Le trafic est autorisé entre un espace de cluster TKG et un Espace vSphere dans le même Espace de noms vSphere.
  • Le trafic est abandonné entre un espace de cluster TKG et un Espace vSphere dans des Espaces de noms vSphere différents.
  • Les nœuds de plan de contrôle du Superviseur doivent atteindre les espaces de cluster TKG.
  • Les espaces de cluster TKG doivent atteindre le réseau externe.
  • Le réseau externe ne peut pas atteindre les espaces du cluster TKG. Le trafic est abandonné par les règles d'isolation de pare-feu distribué (DFW) sur les nœuds du cluster.

Création d'un réseau d'espaces routables : configuration du Superviseur

La création d'un réseau d'espaces routables nécessite une configuration sur le Superviseur et sur le cluster TKG.
Note : Superviseur doit être configuré avec NSX pour utiliser la mise en réseau d'espaces routables. Vous ne pouvez pas utiliser des espaces routables avec la mise en réseau VDS.
Pour configurer un réseau d'espaces routables sur le Superviseur :
  1. Créez un nouvel Espace de noms vSphere.

    Reportez-vous à la section Créer un Espace de noms vSphere pour héberger des clusters TKG sur le Superviseur.

  2. Cochez cette case pour Remplacer les paramètres du réseau du superviseur.

    Pour obtenir des conseils, consultez Remplacer les paramètres réseau du Superviseur pour un Espace de noms vSphere.

  3. Désélectionnez Mode NAT.
  4. Renseignez le Réseau d'espace de noms avec un sous-réseau routable. NCP créera un ou plusieurs pools d'adresses IP à partir des blocs d'adresses IP spécifiés pour le réseau.
  5. Assurez-vous que le Réseau d'espace de noms routable que vous avez ajouté ne chevauche pas le CIDR de services qui alloue les adresses IP aux nœuds de cluster.

Création d'un réseau d'espaces routables : configuration du cluster TKG

L'exemple de YAML suivant montre comment configurer un cluster avec un réseau d'espaces routables.

La spécification du cluster déclare antrea-nsx-routed comme CNI pour activer la mise en réseau d'espaces routables. Si l'option antrea-nsx-routed est spécifiée, le provisionnement du cluster échouera si la mise en réseau NSX-T n'est pas utilisée.

Lorsque le CNI est spécifié sur antrea-nsx-routed, le champ pods.cidrBlock doit être vide.
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