Vous pouvez utiliser l'API v1beta1 pour créer un cluster avec un réseau d'espaces routables. Pour ce faire, vous devez remplacer le cluster par défaut par des configurations personnalisées pour AntreaConfig et VSphereCPIConfig.

À propos de la mise en réseau des espaces routables à l'aide de l'API v1beta1

L'exemple de YAML suivant montre comment utiliser l'API v1beta1 pour provisionner un cluster avec la fonctionnalité Antrea RoutablePod activée. Cet exemple s'appuie sur l'Exemple v1beta1 : cluster par défaut.

Pour activer la fonctionnalité RoutablePod, le cluster nécessite AntreaConfig et VSphereCPIConfig avec une configuration spéciale.

AntreaConfig doit définir trafficEncapMode: noEncap et noSNAT: true.

VSphereCPIConfig doit définir antreaNSXPodRoutingEnabled: true, mode: vsphereParavirtualCPI et
tlsCipherSuites: TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384

Le nom de AntreaConfig doit être au format suivant : <cluster-name>-antrea-package. Le nom de VSphereCPIConfig doit être au format suivant : <cluster-name>-vsphere-cpi-package.

Une fois les fichiers de configuration créés, vous devez ensuite créer l'objet de spécification de cluster qui fait référence aux fichiers de configuration. Lors de la création du cluster, les fichiers de configuration seront utilisés pour provisionner le cluster et remplacer la configuration par défaut.

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 Service TKG.

  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 de charge de travail pour un Espace de noms vSphere.

  3. Configurez le réseau d'espaces routable comme suit.
    Champ Description
    Mode NAT Désélectionnez cette option pour désactiver la traduction d'adresse réseau (NAT).
    Réseau d'espace de noms

    Remplissez ce champ avec un sous-réseau d'adresses IP routable au format Adresse IP/Bits (par exemple, 10.0.0.6/16).

    NCP créera un ou plusieurs pools d'adresses IP à partir des blocs d'adresses IP spécifiés pour le réseau.

    Au minimum, vous devez spécifier une taille de sous-réseau /23. Par exemple, si vous spécifiez un sous-réseau routable /23 avec un préfixe de sous-réseau /28, vous obtiendrez 32 sous-réseaux qui devraient être suffisants pour un cluster à 6 nœuds. Un sous-réseau /24 avec le préfixe /28 n'obtiendra que 2 sous-réseaux, ce qui est insuffisant.

    Attention : Assurez-vous que le sous-réseau d'adresses IP routable que vous avez ajouté ne chevauche pas le CIDR de services qui alloue les adresses IP aux nœuds de cluster. Vous pouvez vérifier le CIDR de services sous Superviseur > Configurer > Réseau > Réseau de charge de travail.
    Préfixe de sous-réseau d'espace de noms

    Spécifiez un préfixe de sous-réseau au format /28, par exemple.

    Le préfixe de sous-réseau est utilisé pour découper le sous-réseau d'espace pour chaque nœud à partir du réseau d'espace de noms.

  4. Cliquez sur Créer pour créer le réseau d'espaces routable.

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

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

Comme indiqué dans l'exemple ci-dessous, vous devez supprimer la section spec.clusterNetwork.pod de la spécification de cluster, car les adresses IP de l'espace seront allouées par cloud-provider-vsphere.
Note : L'exemple est fourni sous la forme d'un fichier YAML unique, mais peut être séparé en fichiers individuels. Si vous le faites, vous devez les créer dans l'ordre : d'abord les ressources personnalisées AntreaConfig et VSphereCPIConfig, puis le cluster target-cluster.
---
apiVersion: cni.tanzu.vmware.com/v1alpha1
kind: AntreaConfig
metadata:
 name: target-cluster-antrea-package
spec:
 antrea:
   config:
     defaultMTU: ""
     disableUdpTunnelOffload: false
     featureGates:
       AntreaPolicy: true
       AntreaProxy: true
       AntreaTraceflow: true
       Egress: false
       EndpointSlice: true
       FlowExporter: false
       NetworkPolicyStats: false
       NodePortLocal: false
     noSNAT: true
     tlsCipherSuites: TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384
     trafficEncapMode: noEncap
---
apiVersion: cpi.tanzu.vmware.com/v1alpha1
kind: VSphereCPIConfig
metadata:
 name: target-cluster-vsphere-cpi-package
spec:
 vsphereCPI:
   antreaNSXPodRoutingEnabled: true
   insecure: false
   mode: vsphereParavirtualCPI
   tlsCipherSuites: TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
---
apiVersion: cluster.x-k8s.io/v1beta1
kind: Cluster
metadata:
 name: target-cluster
spec:
 clusterNetwork:
   services:
     cidrBlocks: ["198.51.100.0/12"]
   serviceDomain: "cluster.local"
 topology:
   class: tanzukubernetescluster
   version: v1.25.7---vmware.3-fips.1-tkg.1
   controlPlane:
     replicas: 3
   workers:
     machineDeployments:
       - class: node-pool
         name: node-pool-1
         replicas: 3
   variables:
     - name: vmClass
       value: guaranteed-medium
     - name: storageClass
       value: tkg2-storage-policy