Reportez-vous à cet exemple pour provisionner un cluster v1beta1 avec le CNI Calico et non le CNI Antrea par défaut. Vous pouvez également vous reporter à cet exemple pour obtenir des conseils sur la personnalisation d'un ou de plusieurs modules TKR pour un cluster.

Exemple v1beta1 : cluster avec CNI personnalisé

L'exemple de YAML suivant montre comment utiliser l'API v1beta1 pour provisionner un cluster avec un CNI personnalisé. Cet exemple s'appuie sur le Exemple v1beta1 : cluster par défaut.

Tel que défini dans la ClusterClass tanzukubernetescluster, le CNI par défaut est Antrea. L'autre CNI pris en charge est Calico. Pour remplacer le CNI Antrea par Calico, surchargez le CNI par défaut en créant une ressource personnalisée ClusterBootstrap qui fait référence à une ressource personnalisée CalicoConfig.

La ressource personnalisée ClusterBootstrap inclut le bloc spec.cni.refName avec la valeur provenant du TKR. (Pour obtenir des instructions sur l'obtention de la valeur de ce champ, reportez-vous à la section Modules de TKr.) La valeur ClusterBootstrap remplace la valeur par défaut dans la ClusterClass et est sélectionnée par l'API de cluster (CAPI) lors de la création du cluster. Le nom de la ressource personnalisée ClusterBootstrap doit être le même que celui du Cluster.
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 la ressource personnalisée CalicoConfig, puis le ClusterBootstrap, puis le cluster cluster-calico.
---
apiVersion: cni.tanzu.vmware.com/v1alpha1
kind: CalicoConfig
metadata:
  name: cluster-calico
spec:
  calico:
    config:
      vethMTU: 0
---
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-calico
spec:
  cni:
    refName: calico.tanzu.vmware.com.3.22.1+vmware.1-tkg.2-zshippable
    valuesFrom:
      providerRef:
        apiGroup: cni.tanzu.vmware.com
        kind: CalicoConfig
        name: cluster-calico
---
apiVersion: cluster.x-k8s.io/v1beta1
kind: Cluster
metadata:
  name: cluster-calico
spec:
  clusterNetwork:
    services:
      cidrBlocks: ["198.51.100.0/12"]
    pods:
      cidrBlocks: ["192.0.2.0/16"]
    serviceDomain: "cluster.local"
  topology:
    class: tanzukubernetescluster
    version: v1.23.8---vmware.2-tkg.2-zshippable
    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