È possibile utilizzare l'API v1beta1 per creare un cluster con rete di pod instradabili. Eseguire questa operazione sovrascrivendo il cluster predefinito con configurazioni personalizzate per AntreaConfig e VSphereCPIConfig.

Informazioni sulla rete di pod instradabili mediante l'API v1beta1

Il file YAML dell'esempio seguente illustra come utilizzare l'API v1beta1 per eseguire il provisioning di un cluster con la funzionalità RoutablePod di Antrea abilitata. Questo esempio si basa sull'esempio v1beta1: cluster predefinito.

Per abilitare la funzionalità RoutablePod, il cluster richiede AntreaConfig e VSphereCPIConfig con una configurazione speciale.

AntreaConfig deve impostare trafficEncapMode: noEncap e noSNAT: true.

VSphereCPIConfig deve impostare antreaNSXPodRoutingEnabled: true, mode: vsphereParavirtualCPI e
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

Il formato del nome di AntreaConfig deve essere <cluster-name>-antrea-package. Il formato del nome di VSphereCPIConfig deve essere <cluster-name>-vsphere-cpi-package.

Una volta creati i file di configurazione, creare l'oggetto "specifica del cluster" che fa riferimento ai file di configurazione. Durante la creazione del cluster, i file di configurazione verranno utilizzati per eseguire il provisioning del cluster e sovrascrivere la configurazione predefinita.

Creazione di una rete di pod instradabili: configurazione del Supervisore

La creazione di una rete di pod instradabili richiede la configurazione nel Supervisore e nel cluster TKG.
Nota: Supervisore deve essere configurato con NSX per utilizzare servizi di rete di pod instradabili. Non è possibile utilizzare pod instradabili con servizi di rete VDS.
Per configurare una rete di pod instradabili in Supervisore:
  1. Creare un nuovo Spazio dei nomi vSphere.

    Vedere Creazione di uno Spazio dei nomi vSphere per ospitare i cluster Servizio TKG.

  2. Selezionare l'opzione della casella di controllo per Sostituisci impostazioni di rete supervisore.

    Per le linee guida, vedere Sostituzione delle impostazioni di rete del carico di lavoro rete per uno Spazio dei nomi vSphere.

  3. Configurare la rete di pod instradabili come indicato di seguito.
    Campo Descrizione
    Modalità NAT Deselezionare questa opzione per disabilitare NAT (Network Address Translation).
    Rete dello spazio dei nomi

    Compilare questo campo con una subnet IP instradabile nel formato Indirizzo IP/Bit (ad esempio, 10.0.0.6/16).

    NCP creerà uno o più pool di IP dai blocchi IP specificati per la rete.

    È necessario specificare una dimensione della subnet pari almeno a /23. Ad esempio, se si specifica una subnet instradabile /23 con prefisso della subnet /28, si otterranno 32 subnet, che dovrebbero essere sufficienti per un cluster di 6 nodi. Con una subnet /24 con prefisso /28 si otterranno solo 2 subnet, che non sono sufficienti.

    Avvertimento: Assicurarsi che la subnet dell'IP instradabile aggiunta non si sovrapponga al CIDR dei servizi che alloca gli indirizzi IP per i nodi del cluster. È possibile controllare il CIDR dei servizi in Supervisore > Configura > Rete > Rete carico di lavoro.
    Prefisso subnet spazio dei nomi

    Specificare un prefisso della subnet nel formato /28, ad esempio.

    Il prefisso della subnet viene utilizzato per creare la subnet del pod per ogni nodo dalla rete dello spazio dei nomi.

  4. Fare clic su Crea per creare la rete di pod instradabili.

Creazione di una rete di pod instradabili: configurazione del cluster TKG

Il codice YAML dell'esempio seguente indica come configurare un cluster v1beta1 con una rete di pod instradabili.

Come illustrato nell'esempio, è necessario rimuovere la sezione spec.clusterNetwork.pod dalla specifica del cluster poiché gli indirizzi IP dei pod verranno allocati da cloud-provider-vsphere.
Nota: L'esempio viene fornito come singolo file YAML, ma può essere separato in singoli file. Se si esegue questa operazione, è necessario creare gli elementi in ordine: prima le risorse personalizzate AntreaConfig e VSphereCPIConfig, quindi il cluster di destinazione.
---
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