Fare riferimento a questo esempio per eseguire il provisioning di un cluster v1beta1 con la CNI di Calico anziché la CNI predefinita di Antrea. È inoltre possibile fare riferimento a questo esempio per istruzioni sulla personalizzazione di uno o più pacchetti TKR per un cluster.
Esempio v1beta1: cluster con CNI personalizzata
Il file YAML di esempio seguente illustra come utilizzare l'API v1beta1 per eseguire il provisioning di un cluster con una CNI personalizzata. Questo esempio si basa su Esempio v1beta1: cluster predefinito.
In base a quanto definito in tanzukubernetescluster
ClusterClass, la CNI predefinita è Antrea. L'altra CNI supportata è Calico. Per modificare la CNI da Antrea a Calico sostituire la CNI predefinita creando una risorsa personalizzata ClusterBootstrap
che faccia riferimento a una risorsa personalizzata CalicoConfig
.
ClusterBootstrap
include il blocco
spec.cni.refName
con il valore che proviene dalla TKR. (Vedere
Pacchetti TKr per istruzioni su come ottenere il valore per questo campo.) Il valore
ClusterBootstrap
sovrascrive il valore predefinito in ClusterClass e viene prelevato dall'API cluster (CAPI) quando viene creato il cluster. Il nome della risorsa personalizzata
ClusterBootstrap
deve essere uguale a quello della risorsa
Cluster
.
CalicoConfig
, quindi il cluster
ClusterBootstrap
e infine il 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