デフォルトの Antrea CNI ではなく Calico CNI を使用して v1beta1 クラスタをプロビジョニングするには、この例を参照してください。クラスタの 1 つ以上の TKR パッケージをカスタマイズする際のガイダンスについても、この例を参照してください。

v1beta1 の例:カスタム CNI を含むクラスタ

次のサンプル YAML では、v1beta1 API を使用してカスタム CNI を含むクラスタをプロビジョニングする方法を示します。この例は、v1beta1 の例:デフォルト クラスタを基準にしています。

tanzukubernetescluster ClusterClassで定義されているように、デフォルトの CNI はAntreaです。サポートされているその他の CNI はCalicoです。CNI を Antrea から Calico に変更するには、CalicoConfig カスタム リソースを参照する ClusterBootstrap カスタム リソースを作成して、デフォルトの CNI に負荷をかける必要があります。

ClusterBootstrap カスタム リソースには、TKR から取得された値を持つ spec.cni.refName ブロックが含まれています。(このフィールドの値を取得する方法のガイダンスについては、 TKR パッケージを参照してください。) ClusterBootstrap 値は ClusterClass のデフォルト値を上書きし、クラスタの作成時に Cluster API (CAPI) によって選択されます。 ClusterBootstrap カスタム リソースの名前は、 Cluster と同じである必要があります。
注: この例は単一の YAML ファイルとして提供されますが、個別のファイルに分割することができます。分割する場合は、最初に CalicoConfig カスタム リソース、次に ClusterBootstrapcluster-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