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
- 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.
- 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.
- 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 .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.
- 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.
spec.clusterNetwork.pod
de la spécification de cluster, car les adresses IP de l'espace seront allouées par cloud-provider-vsphere.
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