This site will be decommissioned on December 31st 2024. After that date content will be available at techdocs.broadcom.com.

vSphere 上的單一節點叢集

Tanzu Kubernetes Grid (TKG) 支援單節點叢集。單節點叢集是工作負載叢集,其中主控的工作負載與控制平面基礎結構一起在單一 ESXi 主機上執行。

若要進一步最小化單節點叢集的磁碟使用量,您可以從 tiny Tanzu Kubernetes 版本 (Tkr) 建立該叢集,而該版本的基礎作業系統有 Photon 或 Ubuntu Tiny OVA。此類叢集稱為最小單節點叢集。

單節點叢集是在 vSphere 上執行且由獨立管理叢集部署的以類別為基礎的工作負載叢集。

Telco Cloud Automation (TCA) 完全支援單節點叢集。

附註

無法使用 Tanzu Mission Control (TMC) 建立和管理單節點叢集,但此功能計劃在將來的 TMC 版本中提供。

單節點叢集使用案例包括:

  • 最小的單節點叢集
    • 資源受限的主機環境,例如遠端邊緣行動通訊基地台和其他邊緣位置
  • 標準的單節點叢集
    • 實驗性開發和測試環境

相容性

以下環境和元件支援單節點叢集:

類別 支援的選項
基礎結構 vSphere 7、vSphere 8
節點作業系統 Ubuntu 20.04、Photon 3
節點大小 小型
套件 Cert Manager、Fluent Bit、Multus、Prometheus、Whereabouts
控制平面端點提供者 Kube-Vip*
工作負載平衡器 Kube-Vip*
工作負載叢集類型 以類別為基礎
CNI Antrea、Calico
連接模式 線上、網際網路受限

*TKG v2.4 中的單節點叢集不支援 NSX Advanced Load Balancer (ALB)。

必要條件

建立最小的單節點叢集

若要在使用 tiny Tanzu Kubernetes 版本 (TKr) 以最小化磁碟使用量的 vSphere 上建立單節點工作負載叢集,請執行以下動作:

  1. 準備 OVA:

    1. 瀏覽至 Tanzu Kubernetes Grid 下載頁面,然後登入 Customer Connect。

    2. VMware Tanzu Kubernetes Grid 資料列中,按一下移至下載 (Go to Downloads)

    3. 選取版本 2.x 並按一下 VMware Tanzu Kubernetes Grid > 移至下載 (GO TO DOWNLOADS)

    4. Tiny TKG OVA 下,下載 Tiny OVA 以用於單節點叢集:

      • Photon v3 Kubernetes v1.27.5 Tiny OVA

      • Ubuntu 2004 Kubernetes v1.27.5 微小 OVA

    5. 將 Tiny OVA 匯入您的 vSphere 環境,並將其轉換為虛擬機器範本,如將基礎映像範本匯入到 vSphere 中所述。

  2. 建立單節點工作負載叢集。

    附註

    如要建立最小單節點叢集,必須使用 Kubernetes 樣式的物件規格執行 tanzu cluster create 命令。如果從平面叢集組態檔開始,則必須按照 建立以類別為基礎的叢集中所述的兩個步驟過程產生物件規格,然後第二次執行 tanzu cluster create 以建立叢集。

    1. 依照以下範例中的設定,對環境變數進行設定:

      export CLUSTER_NAME='workload-snc'
      export CLUSTER_NAMESPACE='default'
      export CLUSTER_CIDR='100.96.0.0/11'
      export SERVICE_CIDR='100.64.0.0/13'
      export VSPHERE_CONTROL_PLANE_ENDPOINT=10.185.11.134
      export VSPHERE_SERVER=10.185.12.154
      export VSPHERE_USERNAME='[email protected]'
      export VSPHERE_PASSWORD=<encoded:QWRtaW4hMjM=>
      export VSPHERE_DATACENTER='/dc0'
      export VSPHERE_DATASTORE='/dc0/datastore/sharedVmfs-0'
      export VSPHERE_FOLDER='/dc0/vm'
      export VSPHERE_NETWORK='/dc0/network/VM Network'
      export VSPHERE_RESOURCE_POOL='/dc0/host/cluster0/Resources'
      export VSPHERE_SSH_AUTHORIZED_KEY=ssh-rsa AAAAB3[...]tyaw== [email protected]
      export VSPHERE_TLS_THUMBPRINT=47:F5:83:8E:5D:36:[...]:72:5A:89:7D:29:E5:DA
      export VSPHERE_CONTROL_PLANE_NUM_CPUS='2'
      export VSPHERE_CONTROL_PLANE_MEM_MIB='4096'
      export VSPHERE_CONTROL_PLANE_DISK_GIB='20'
      export TKG_CUSTOM_IMAGE_REPOSITORY='projects.registry.vmware.com/tkg'
      export OS_NAME='photon'
      export TKG_CUSTOM_IMAGE_REPOSITORY_CA_CERTIFICATE="LS0tL[...]0tLQo="
      
    2. 使用參考上述變數的 ClusterSecret 物件規格建立資訊清單 vsphere-snc.yaml

      apiVersion: cluster.x-k8s.io/v1beta1
      kind: Cluster
      metadata:
        annotations:
          tkg.tanzu.vmware.com/cluster-controlplane-endpoint: ${VSPHERE_CONTROL_PLANE_ENDPOINT}
          run.tanzu.vmware.com/resolve-tkr: 'tkr.tanzu.vmware.com/tiny'
        labels:
          tkg.tanzu.vmware.com/cluster-name: ${CLUSTER_NAME}
        name: ${CLUSTER_NAME}
        namespace: ${CLUSTER_NAMESPACE}
      spec:
        clusterNetwork:
          pods:
            cidrBlocks:
            - ${CLUSTER_CIDR}
          services:
            cidrBlocks:
            - ${SERVICE_CIDR}
        topology:
          class: tkg-vsphere-default-v1.1.1
          controlPlane:
            metadata:
              annotations:
                run.tanzu.vmware.com/resolve-os-image: image-type=ova,os-name=${OS_NAME}
            replicas: 1
          variables:
          - name: controlPlaneTaint
            value: false
          - name: auditLogging
            value:
              enabled: false
          - name: apiServerEndpoint
            value: ${VSPHERE_CONTROL_PLANE_ENDPOINT}
          - name: aviAPIServerHAProvider
            value: false
          - name: imageRepository
            value:
              host: ${TKG_CUSTOM_IMAGE_REPOSITORY}
          - name: trust
            value:
              additionalTrustedCAs:
              - data: ${TKG_CUSTOM_IMAGE_REPOSITORY_CA_CERTIFICATE}
                name: imageRepository
          - name: vcenter
            value:
              cloneMode: fullClone
              datacenter: ${VSPHERE_DATACENTER}
              datastore: ${VSPHERE_DATASTORE}
              folder: ${VSPHERE_FOLDER}
              network: ${VSPHERE_NETWORK}
              resourcePool: ${VSPHERE_RESOURCE_POOL}
              server: ${VSPHERE_SERVER}
              storagePolicyID: ""
              tlsThumbprint: ${VSPHERE_TLS_THUMBPRINT}
          - name: user
            value:
              sshAuthorizedKeys:
              - ${VSPHERE_SSH_AUTHORIZED_KEY}
          - name: controlPlane
            value:
              machine:
                diskGiB: ${VSPHERE_CONTROL_PLANE_DISK_GIB}
                memoryMiB: ${VSPHERE_CONTROL_PLANE_MEM_MIB}
                numCPUs: ${VSPHERE_CONTROL_PLANE_NUM_CPUS}
          version: v1.27.5+vmware.1-tiny.2
      ---
      apiVersion: v1
      kind: Secret
      metadata:
        name: ${CLUSTER_NAME}
        namespace: ${CLUSTER_NAMESPACE}
      stringData:
        password: ${VSPHERE_PASSWORD}
        username: ${VSPHERE_USERNAME}
      EOF
      

      請注意下列事項:

      • run.tanzu.vmware.com/resolve-tkrmetadata.annotations 設定
      • controlPlaneTainttopology.variables 設定
      • 沒有 topology.workers 區塊,只有 topology.controlPlane
      • 對於先前版本的 TKG,topology.version 應為 v1.25.7+vmware.1-tiny.1 (適用於 v2.2.0)、v1.24.10+vmware.1-tiny.1 (適用於 v2.1.1) 和 v1.24.9+vmware.1-tiny.2 (適用於 v2.1.0)。
    3. (選用) 若要將叢集設定為使用 Calico 作為 CNI 而非預設的 Antrea CNI,請依照適用於主管或以單節點類別為基礎的工作負載叢集的 Calico CNI 中適用於單節點叢集的指示進行。

    4. 套用 Cluster 物件資訊清單:

      tanzu cluster create -f vsphere-snc.yaml
      

建立標準單節點叢集

若要在使用標準 Photon 或 Ubuntu TKr 的 vSphere 上建立單節點工作負載叢集,請執行以下動作:

  1. 為工作負載叢集建立平面組態檔,如具有獨立管理叢集組態檔的 vSphere 中所述。

  2. 使用 --dry-run 旗標執行 tanzu cluster create,將平面組態檔轉換為 Kubernetes 樣式的 Cluster 物件規格,如建立物件規格中所述。

  3. 編輯 Cluster 物件規格以包含以下設定:

    • topology.controlPlane 下:

      replicas: 1
      
    • topology.workers 區塊,如果有此區塊,請予以刪除。

    • topology.variables 下:

      - name: controlPlaneTaint
        value: false
      
  4. 使用修改後的 Cluster 物件規格來執行 tanzu cluster create,如從物件規格來建立以類別為基礎的叢集中所述。

check-circle-line exclamation-circle-line close-line
Scroll to top icon