若要調整 Tanzu Kubernetes 叢集節點的大小,請指定虛擬機器類別。vSphere with Tanzu 提供了預設類別,您也可以自行建立類別。若要使用類別,請將其與目標 vSphere 命名空間相關聯並參考資訊清單中的類別。

關於虛擬機器類別

虛擬機器類別是對虛擬機器 (VM) 處理能力 (包括 CPU 和記憶體 (RAM)) 的資源保留請求。例如,名為「guaranteed-large」的虛擬機器類別類型保留 4 個 CPU 和 16 GB RAM。如需預設虛擬機器類別及其對應的 CPU 和 RAM 保留清單,請參閱 預設虛擬機器類別
備註: 虛擬機器磁碟大小透過 OVA 範本設定,而非透過虛擬機器類別定義進行設定。對於 Tanzu Kubernetes 版本,磁碟大小為 16 GB。請參閱 關於 Tanzu Kubernetes 版本發行版
虛擬機器類別有兩種保留類型:保證和最佳運作。保證類別會完整保留其已設定的資源。這意味著,對於指定的叢集, spec.policies.resources.requestsspec.hardware 設定相符。最佳運作類別允許過度認可資源。對於生產工作負載,建議使用保證虛擬機器類別類型。
警告: 由於最佳運作虛擬機器類別類型允許過度認可資源,因此,如果對要佈建 Tanzu Kubernetes 叢集的 vSphere 命名空間設定了限制,資源可能會耗盡。如果發生爭用並且控制平面受到影響,叢集可能會停止執行。因此,應始終對生產叢集使用保證虛擬機器類別類型。如果無法對所有生產節點使用保證虛擬機器類別類型,則應至少對控制平面節點使用保證虛擬機器類別。

使用虛擬機器類別

若要將虛擬機器類別與 Tanzu Kubernetes 叢集搭配使用,虛擬機器類別必須繫結到已佈建叢集的 vSphere 命名空間。為此,需要將類別與目標命名空間相關聯。請參閱為 Tanzu Kubernetes 版本設定 vSphere 命名空間

若要列出目標 vSphere 命名空間中的可用虛擬機器類別,請使用命令 kubectl get virtualmachineclassbinding。若要檢視 主管叢集上存在的所有虛擬機器類別,請執行命令 kubectl describe virtualmachineclasses。但是,請注意,由於繫結的類別只能用來佈建叢集,因此後一個命令僅供參考。請參閱 使用 TKGS v1alpha2 API 佈建 Tanzu Kubernetes 叢集的工作流程
備註: 將虛擬機器類別與 vSphere 命名空間相關聯的需求僅適用於新叢集。使用預設虛擬機器類別的現有 Tanzu Kubernetes 叢集將繼續運作,而不需要命名空間關聯。

預設虛擬機器類別

資料表預設虛擬機器類別列出了用作 Tanzu Kubernetes 叢集節點之部署大小的預設虛擬機器類別類型。

若要避免過度認可資源,生產工作負載應使用保證類別類型。若要避免記憶體不足,針對在任何環境 (開發、測試或生產) 中部署工作負載的任何 worker 節點請勿使用小型或超小型類別大小。

表 1. 預設虛擬機器類別
類別 CPU 記憶體 (GB) 保留的 CPU 和記憶體
guaranteed-8xlarge 32 128
best-effort-8xlarge 32 128
guaranteed-4xlarge 16 128
best-effort-4xlarge 16 128
guaranteed-2xlarge 8 64
best-effort-2xlarge 8 64
guaranteed-xlarge 4 32
best-effort-xlarge 4 32
guaranteed-large 4 16
best-effort-large 4 16
guaranteed-medium 2 8
best-effort-medium 2 8
guaranteed-small 2 4
best-effort-small 2 4
guaranteed-xsmall 2 2
best-effort-xsmall 2 2

自訂虛擬機器類別

vSphere with Tanzu 支援自訂虛擬機器類別以與 Tanzu Kubernetes 叢集搭配使用。定義自訂虛擬機器類別後,您必須先將其與目標 vSphere 命名空間相關聯,然後才能與叢集搭配使用。請參閱在 vSphere with Tanzu 中建立虛擬機器類別

編輯虛擬機器類別

虛擬機器類別定義是不可變的。任何虛擬機器類別都可以 編輯,包括 預設虛擬機器類別定義。如果已編輯虛擬機器類別,現有 Tanzu Kubernetes 叢集節點將不受影響。新的 Tanzu Kubernetes 叢集將使用已修改的類別定義。
注意: 如果編輯 Tanzu Kubernetes 叢集所使用的虛擬機器類別,然後擴充該叢集,則新節點會使用編輯過的類別定義,但現有節點會使用初始類別定義,進而導致類別不相符。