Consulte este ejemplo para aprovisionar un clúster v1beta1 con la CNI de Calico en lugar de la CNI de Antrea predeterminada. También puede consultar este ejemplo para obtener instrucciones sobre cómo personalizar uno o varios paquetes de TKR para un clúster.
Ejemplo de v1beta1: clúster con CNI personalizada
El siguiente ejemplo de YAML demuestra cómo utilizar la API de v1beta1 para aprovisionar un clúster con una CNI personalizada. Este ejemplo se basa en Ejemplo de v1beta1: clúster predeterminado.
Como se define en tanzukubernetescluster
ClusterClass, la CNI predeterminada es Antrea. La otra CNI admitida es Calico. Para cambiar la CNI de Antrea a Calico, sobrecargue la CNI predeterminada creando un recurso personalizado de ClusterBootstrap
que haga referencia a un recurso personalizado de CalicoConfig
.
ClusterBootstrap
incluye el bloque
spec.cni.refName
con el valor que proviene del TKR. (Consulte
Paquetes de TKr para obtener instrucciones sobre cómo obtener el valor de este campo). El valor de
ClusterBootstrap
sobrescribe el valor predeterminado en ClusterClass y lo selecciona la API del clúster (CAPI) cuando se crea el clúster. El nombre del recurso personalizado
ClusterBootstrap
debe ser el mismo que el
Cluster
.
CalicoConfig
y, a continuación, el
ClusterBootstrap
y el clúster de
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