È 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
- Creare un nuovo Spazio dei nomi vSphere.
Vedere Creazione di uno Spazio dei nomi vSphere per ospitare i cluster Servizio TKG.
- 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.
- 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 .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.
- 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.
spec.clusterNetwork.pod
dalla specifica del cluster poiché gli indirizzi IP dei pod verranno allocati da cloud-provider-vsphere.
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