デフォルトの 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
カスタム リソース、次に
ClusterBootstrap
、
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