In diesem Beispiel finden Sie Informationen zur Bereitstellung eines v1beta1-Clusters mit der Calico-CNI anstelle der standardmäßigen Antrea-CNI. Darüber hinaus enthält dieses Beispiel Informationen zur Anpassung eines oder mehrerer TKR-Pakete für einen Cluster.

v1beta1-Beispiel: Cluster mit benutzerdefinierter CNI

Die folgende Beispiel-YAML veranschaulicht, wie Sie mit der v1beta1-API einen Cluster mit einer benutzerdefinierten CNI bereitstellen. Dieses Beispiel basiert auf dem v1beta1-Beispiel: Standardcluster.

Wie in der ClusterClass von tanzukubernetescluster definiert ist, lautet die Standard-CNI Antrea. Die andere unterstützte CNI ist Calico. Um die CNI von Antrea in Calico zu ändern, überlasten Sie die Standard-CNI, indem Sie eine benutzerdefinierte Ressource ClusterBootstrap erstellen, die auf eine benutzerdefinierte Ressource CalicoConfig verweist.

Die benutzerdefinierte Ressource ClusterBootstrap enthält den Block spec.cni.refName mit dem von der TKR stammenden Wert. (Weitere Informationen zum Abrufen des Werts für dieses Feld finden Sie unter TKR-Pakete.) Der Wert ClusterBootstrap überschreibt den Standardwert in der ClusterClass und wird bei der Erstellung des Clusters von der Cluster-API (CAPI) übernommen. Der Name der benutzerdefinierten Ressource ClusterBootstrap muss mit dem Cluster identisch sein.
Hinweis: Das Beispiel wird als einzelne YAML-Datei bereitgestellt und kann aber in einzelne Dateien aufgeteilt werden. Wenn Sie dies tun, müssen Sie sie in der folgenden Reihenfolge erstellen: zuerst die benutzerdefinierte Ressource CalicoConfig, dann die benutzerdefinierte Ressource ClusterBootstrap und danach den 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