Consulte este exemplo para provisionar um cluster v1beta1 com o Calico CNI em vez do padrão Antrea CNI. Você também pode consultar este exemplo para obter orientação sobre como personalizar um ou mais pacotes TKR para um cluster.
Exemplo de v1beta1: cluster com CNI personalizada
O exemplo de YAML a seguir demonstra como usar a API v1beta1 para provisionar um cluster com uma CNI personalizada. Este exemplo se baseia no Exemplo de v1beta1: cluster padrão.
Conforme definido no tanzukubernetescluster
ClusterClass, o CNI padrão é Antrea. A outra CNI compatível é Calico. Para alterar a CNI de Antrea para Calico, você sobrecarrega a CNI padrão criando um recurso personalizado ClusterBootstrap
que faz referência a um recurso personalizado CalicoConfig
.
O recurso personalizado
ClusterBootstrap
inclui o bloco
spec.cni.refName
com o valor que vem do TKR. (Consulte
Pacotes TKR para obter orientação sobre como obter o valor para esse campo.) O valor
ClusterBootstrap
substitui o valor padrão no ClusterClass e é selecionado pela API de cluster (CAPI) quando o cluster é criado. O nome do recurso personalizado
ClusterBootstrap
deve ser o mesmo que o
Cluster
.
Observação: O exemplo é fornecido como um único arquivo YAML, mas pode ser separado em arquivos individuais. Se você fizer isso, deverá criá-los na ordem: primeiro o recurso personalizado
CalicoConfig
, depois o
ClusterBootstrap
e, em seguida, o 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