Vous pouvez créer un cluster avec mise en réseau d'espaces routables en configurant le module Antrea CNI avec des paramètres spécifiques et en configurant un réseau d'espaces de noms routables sur le Superviseur.
Implémentation de la mise en réseau des espaces routables à l'aide de l'API v1beta1
L'API v1beta1 prend en charge la mise en réseau d'espaces routables en utilisant Antrea CNI. La fonctionnalité est semblable à son fonctionnement avec l'API v1alpha3. Pour obtenir une description, reportez-vous à Exemple v1alpha3 : TKC avec réseau d'espaces routables.
Les mêmes conditions requises s'appliquent : vous devez utiliser la mise en réseau NSX pour le Superviseur et vous devez configurer un Espace de noms vSphere avec un réseau d'espaces de noms routables. Pour obtenir des conseils, consultez Remplacer les paramètres réseau du Superviseur.
Bien que la fonctionnalité soit la même, l'implémentation de la mise en réseau des espaces routables à l'aide de l'API v1beta1 est différente de l'approche de l'API v1alpha3. À l'aide de l'API v1beta1, vous personnalisez la CNI comme indiqué dans l'exemple Cluster Calico. Dans ce cas, cependant, vous utilisez toujours le module Antrea CNI, mais en fournissant des instructions de configuration spéciales pour créer le module Antrea CNI avec la mise en réseau des espaces routables.
Pour ce faire, créez VSphereCPIConfig et AntreaConfig avec des configurations spécifiques. VSphereCPIConfig définit l'indicateur antreaNSXPodRoutingEnabled
sur true. De même, AntreaConfig active des indicateurs spécifiques. Il existe des exemples de configurations VSphereCPIConfig et AntreaConfig dans l'espace de noms tkg-system
avec -routable
comme suffixe.
Une fois que vous avez configuré le module Antrea CNI pour la mise en réseau des espaces routables, comme pour l'approche v1alpha3, vous laissez le champ pods.cidrBlocks
vide dans la spécification du cluster. Par exemple :
apiVersion: cpi.tanzu.vmware.com/v1alpha1 kind: VSphereCPIConfig metadata: name: cluster-4 namespace: tkg spec: vsphereCPI: antreaNSXPodRoutingEnabled: true insecure: false mode: vsphereParavirtualCPI --- apiVersion: cni.tanzu.vmware.com/v1alpha1 kind: AntreaConfig metadata: name: cluster-4 namespace: tkg spec: antrea: config: featureGates: AntreaProxy: true EndpointSlice: true AntreaPolicy: true FlowExporter: true Egress: true NodePortLocal: true AntreaTraceflow: true NetworkPolicyStats: true noSNAT: true trafficEncapMode: noEncap --- apiVersion: run.tanzu.vmware.com/v1alpha3 kind: ClusterBootstrap metadata: annotations: tkg.tanzu.vmware.com/add-missing-fields-from-tkr: v1.23.8---vmware.2-tkg.2-zshippable name: cluster-4 spec: cni: refName: antrea.tanzu.vmware.com.1.5.3+tkg.2-zshippable valuesFrom: providerRef: apiGroup: cni.tanzu.vmware.com kind: AntreaConfig name: cluster-4 --- apiVersion: cluster.x-k8s.io/v1beta1 kind: Cluster metadata: name: cluster-4 namespace: tkg spec: clusterNetwork: services: cidrBlocks: ["198.52.100.0/12"] pods: cidrBlocks: [] serviceDomain: "cluster.local" topology: class: tanzukubernetescluster version: v1.23.8---vmware.2-tkg.2-zshippable controlPlane: replicas: 1 metadata: annotations: run.tanzu.vmware.com/resolve-os-image: os-name=ubuntu workers: machineDeployments: - class: node-pool name: node-pool-01 replicas: 3 metadata: annotations: run.tanzu.vmware.com/resolve-os-image: os-name=ubuntu variables: - name: vmClass value: guaranteed-medium - name: storageClass value: tkg2-storage-policy