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
.
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
.
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