請參閱此範例,佈建使用 Calico CNI (而非預設 Antrea CNI) 的 v1beta1 叢集。此外,還可以參閱此範例,瞭解如何為叢集自訂一或多個 TKR 套件。
v1beta1 範例:使用自訂 CNI 的叢集
以下範例 YAML 示範了如何使用 v1beta1 API 透過自訂 CNI 佈建叢集。此範例根據 v1beta1 範例:預設叢集而建置。
如 tanzukubernetescluster
ClusterClass 中所定義,預設 CNI 為 Antrea。另一個支援的 CNI 為 Calico。若要將 CNI 從 Antrea 變更為 Calico,請透過建立參考 CalicoConfig
自訂資源的 ClusterBootstrap
自訂資源使預設 CNI 超載。
ClusterBootstrap
自訂資源包含
spec.cni.refName
區塊,其值來自 TKR。(如需有關如何取得此欄位的值的指引,請參閱
TKr 套件。)
ClusterBootstrap
值將覆寫 ClusterClass 中的預設值,並在建立叢集時由叢集 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