可透過 kubectl 和使用 YAML 定義的叢集規格叫用 Tanzu Kubernetes Grid 服務 宣告式 API,以佈建 Tanzu Kubernetes 叢集。佈建叢集後,您可以使用 kubectl 操作該叢集並在其中部署工作負載。

此工作流程提供了適用於叢集佈建程序的端對端程序。每個步驟都有連結,可取得有關特定工作的詳細資訊。

必要條件

完成下列必要條件:

程序

  1. 下載並安裝 vSphere 適用的 Kubernetes CLI 工具。請參閱下載並安裝 vSphere 適用的 Kubernetes CLI 工具
  2. 使用 kubectl 適用的 vSphere 外掛程式主管叢集 進行驗證。請參閱以 vCenter Single Sign-On 使用者身分連線至 主管叢集
    kubectl vsphere login --server=IP-ADDRESS --vsphere-username USERNAME
  3. 使用 kubectl,將內容切換到計劃佈建 Tanzu Kubernetes 叢集的 vSphere 命名空間
    kubectl config get-contexts
    kubectl config use-context SUPERVISOR-NAMESPACE
    例如:
    kubectl config use-context tkgs-cluster-ns
  4. 列出可用的虛擬機器類別繫結。請參閱Tanzu Kubernetes 叢集的虛擬機器類別
    使用下列命令列出部署叢集之 vSphere 命名空間中可用的所有虛擬機器類別繫結。
    kubectl get virtualmachineclassbindings
    備註: 命令 kubectl get virtualmachineclasses 列出了 主管叢集上存在的所有虛擬機器類別。由於您必須將虛擬機器類別與 vSphere 命名空間相關聯,因此只能使用繫結到目標命名空間的虛擬機器類別。
  5. 透過說明命名空間,取得可用的預設儲存區類別。
    kubectl describe namespace SUPERVISOR-NAMESPACE
  6. 列出可用的 Tanzu Kubernetes 版本
    備註: 如需相容性,請參閱 Tanzu Kubernetes 版本清單。請參閱 驗證 Tanzu Kubernetes 叢集的更新相容性
    kubectl get tanzukubernetesreleases
    備註: 命令 kubectl get virtualmachineimages 傳回了有關虛擬機器的一般資訊。
  7. 建構用於佈建 Tanzu Kubernetes 叢集的 YAML 檔案。
    1. 從其中一個範例 YAML 檔案開始。請參閱使用 Tanzu Kubernetes Grid 服務 v1alpha1 API 佈建 Tanzu Kubernetes 叢集的範例
      例如,下列 YAML 檔案使用所有可用的預設值佈建最小叢集:
      apiVersion: run.tanzu.vmware.com/v1alpha1  #TKGS API endpoint
      kind: TanzuKubernetesCluster               #required parameter
      metadata:
        name: tkgs-cluster-1                     #cluster name, user defined
        namespace: tgks-cluster-ns               #vsphere namespace
      spec:
        distribution:
          version: v1.19                         #Resolves to latest TKR 1.19 version
        topology:
          controlPlane:
            count: 1                             #number of control plane nodes
            class: best-effort-medium            #vmclass for control plane nodes
            storageClass: vwt-storage-policy     #storageclass for control plane
          workers:
            count: 3                             #number of worker nodes
            class: best-effort-medium            #vmclass for worker nodes
            storageClass: vwt-storage-policy     #storageclass for worker nodes
      
    2. 使用從上述命令輸出中收集的資訊填入叢集 YAML,包括命名空間、儲存區類別和虛擬機器類別。
    3. 透過參考完整的叢集組態參數清單,以根據需求自訂叢集。請參閱使用 Tanzu Kubernetes Grid 服務 v1alpha1 API 之 Tanzu Kubernetes 叢集的組態參數
    4. 將檔案儲存為 tkgs-cluster-1.yaml 或類似格式。
  8. 透過執行下列 kubectl 命令來佈建叢集。
    kubectl apply -f CLUSTER-NAME.yaml
    例如:
    kubectl apply -f tkgs-cluster-1.yaml
    預期的結果:
    tanzukubernetescluster.run.tanzu.vmware.com/tkgs-cluster-1 created
  9. 使用 kubectl 監控叢集節點部署。請參閱使用 kubectl 監控 Tanzu Kubernetes 叢集狀態
    kubectl get tanzukubernetesclusters
    範例結果:
    NAME             CONTROL PLANE   WORKER   DISTRIBUTION                     AGE     PHASE
    tkgs-cluster-2   1               3        v1.19.7+vmware.1-tkg.1.c40d30d   7m59s   running
  10. 使用 vSphere Client 監控叢集節點部署。請參閱使用 vSphere Client 監控 Tanzu Kubernetes 叢集狀態
    例如,在 vSphere 詳細目錄中,您應該會看到命名空間中部署的虛擬機器節點。
  11. 執行其他命令以驗證叢集佈建。請參閱〈使用 Tanzu Kubernetes 叢集運作命令〉
    例如:
    kubectl get tanzukubernetescluster,cluster-api,virtualmachinesetresourcepolicy,virtualmachineservice,virtualmachine
    備註: 對於其他疑難排解,請參閱 〈對 Tanzu Kubernetes 叢集進行疑難排解〉
  12. 使用 kubectl 適用的 vSphere 外掛程式 登入叢集。請參閱以 vCenter Single Sign-On 使用者身分連線至 Tanzu Kubernetes 叢集
    kubectl vsphere login --server=IP-ADDRESS --vsphere-username USERNAME \
    --tanzu-kubernetes-cluster-name CLUSTER-NAME --tanzu-kubernetes-cluster-namespace NAMESPACE-NAME
  13. 使用下列 kubectl 命令驗證叢集佈建。
    kubectl cluster-info
    kubectl get nodes
    kubectl get namespaces
    kubectl api-resources
  14. 部署範例工作負載並驗證叢集建立。請參閱在 Tanzu Kubernetes 叢集上部署工作負載
    備註: Tanzu Kubernetes 叢集已啟用網繭安全性原則。視工作負載和使用者而定,您可能需要建立適當的 RoleBinding 或自訂 PodSecurityPolicy。請參閱 將網繭安全性原則與 Tanzu Kubernetes 叢集搭配使用
  15. 透過部署 TKG 延伸,使叢集正常運作。請參閱在 Tanzu Kubernetes 叢集上部署 TKG 套件