可透過 kubectl 和使用 YAML 定義的叢集規格叫用 Tanzu Kubernetes Grid 服務 宣告式 API,以佈建 Tanzu Kubernetes 叢集。佈建叢集後,您可以使用 kubectl 操作該叢集並在其中部署工作負載。
此工作流程提供了適用於叢集佈建程序的端對端程序。每個步驟都有連結,可取得有關特定工作的詳細資訊。
程序
- 下載並安裝 vSphere 適用的 Kubernetes CLI 工具。請參閱下載並安裝 vSphere 適用的 Kubernetes CLI 工具。
- 使用 kubectl 適用的 vSphere 外掛程式 對 主管叢集 進行驗證。請參閱以 vCenter Single Sign-On 使用者身分連線至 主管叢集。
kubectl vsphere login --server=IP-ADDRESS --vsphere-username USERNAME
- 使用 kubectl,將內容切換到計劃佈建 Tanzu Kubernetes 叢集的 vSphere 命名空間。
kubectl config get-contexts
kubectl config use-context SUPERVISOR-NAMESPACE
例如:
kubectl config use-context tkgs-cluster-ns
- 列出可用的虛擬機器類別繫結。請參閱Tanzu Kubernetes 叢集的虛擬機器類別。
使用下列命令列出部署叢集之
vSphere 命名空間中可用的所有虛擬機器類別繫結。
kubectl get virtualmachineclassbindings
備註: 命令
kubectl get virtualmachineclasses
列出了
主管叢集上存在的所有虛擬機器類別。由於您必須將虛擬機器類別與
vSphere 命名空間相關聯,因此只能使用繫結到目標命名空間的虛擬機器類別。
- 透過說明命名空間,取得可用的預設儲存區類別。
kubectl describe namespace SUPERVISOR-NAMESPACE
- 列出可用的 Tanzu Kubernetes 版本。
kubectl get tanzukubernetesreleases
備註: 命令
kubectl get virtualmachineimages
傳回了有關虛擬機器的一般資訊。
- 建構用於佈建 Tanzu Kubernetes 叢集的 YAML 檔案。
- 從其中一個範例 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
- 使用從上述命令輸出中收集的資訊填入叢集 YAML,包括命名空間、儲存區類別和虛擬機器類別。
- 透過參考完整的叢集組態參數清單,以根據需求自訂叢集。請參閱使用 Tanzu Kubernetes Grid 服務 v1alpha1 API 之 Tanzu Kubernetes 叢集的組態參數。
- 將檔案儲存為
tkgs-cluster-1.yaml
或類似格式。
- 透過執行下列 kubectl 命令來佈建叢集。
kubectl apply -f CLUSTER-NAME.yaml
例如:
kubectl apply -f tkgs-cluster-1.yaml
預期的結果:
tanzukubernetescluster.run.tanzu.vmware.com/tkgs-cluster-1 created
- 使用 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
- 使用 vSphere Client 監控叢集節點部署。請參閱使用 vSphere Client 監控 Tanzu Kubernetes 叢集狀態。
例如,在 vSphere 詳細目錄中,您應該會看到命名空間中部署的虛擬機器節點。
- 執行其他命令以驗證叢集佈建。請參閱〈使用 Tanzu Kubernetes 叢集運作命令〉。
例如:
kubectl get tanzukubernetescluster,cluster-api,virtualmachinesetresourcepolicy,virtualmachineservice,virtualmachine
- 使用 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
- 使用下列 kubectl 命令驗證叢集佈建。
kubectl cluster-info
kubectl get nodes
kubectl get namespaces
kubectl api-resources
- 部署範例工作負載並驗證叢集建立。請參閱在 Tanzu Kubernetes 叢集上部署工作負載。
- 透過部署 TKG 延伸,使叢集正常運作。請參閱在 Tanzu Kubernetes 叢集上部署 TKG 套件。