vSphere with Tanzu 提供虛擬機器服務功能,讓 DevOps 工程師除了部署及執行容器之外,還可以在一般的共用 Kubernetes 環境中部署及執行虛擬機器。可以使用虛擬機器服務管理vSphere 命名空間中虛擬機器的生命週期。虛擬機器服務可管理獨立虛擬機器以及構成 Tanzu Kubernetes 叢集的虛擬機器。

一般而言,您的業務需求和目標決定了在虛擬機器中而不是在容器中執行工作負載。如需何時執行虛擬機器的相關資訊,請參閱在 vSphere with Tanzu 中使用虛擬機器

虛擬機器服務的概念

若要說明要在vSphere 命名空間中部署的虛擬機器的狀態,可以使用虛擬機器類別、虛擬機器映像和儲存區類別等參數。然後,虛擬機器服務會整合這些規格,以建立獨立虛擬機器或支援 Tanzu Kubernetes 叢集的虛擬機器。

虛擬機器規格將虛擬機器類別、虛擬機器映像和儲存區類別聚焦在一起以建立虛擬機器
虛擬機器服務
虛擬機器服務是 vSphere with Tanzu 的一個元件,可提供宣告式、Kubernetes 式 API,用於管理虛擬機器和相關聯的 vSphere 資源。透過虛擬機器服務,vSphere 管理員能夠交付資源並為 Kubernetes 提供範本 (例如虛擬機器類別和虛擬機器映像)。DevOps 工程師可以使用這些資源說明虛擬機器的所需狀態。當 DevOps 工程師指定虛擬機器狀態後,虛擬機器服務會針對支援基礎結構資源將所需狀態轉換為實際狀態。

透過虛擬機器服務建立的虛擬機器只能從 Kubernetes 命名空間使用 kubectl 命令進行管理。vSphere 管理員無法從 vSphere Client 管理虛擬機器,但可以顯示其詳細資料並監控其使用的資源。如需相關資訊,請參閱監控 vSphere with Tanzu 中可用的虛擬機器

VM 類別
虛擬機器類別是虛擬機器規格,可用來為虛擬機器請求一組資源。虛擬機器類別由 vSphere 管理員進行控制和管理,用於定義諸如虛擬 CPU 數目、記憶體容量和保留區設定等參數。定義的參數由主管叢集的基礎結構資源支援和保證。

vSphere 管理員可以建立自訂虛擬機器類別。

此外,工作負載管理還提供了數個預設虛擬機器類別。一般而言,每個預設類別類型有兩個版本:保證和最佳運作版本。保證版本會完整保留虛擬機器規格要求的資源。最佳運作類別版本則不會,它會允許過度認可資源。通常,在生產環境中會使用保證類型。

預設虛擬機器類別的範例包括以下內容。

類別 CPU 記憶體 (GB) 保留的 CPU 和記憶體
guaranteed-large 4 16
best-effort-large 4 16
guaranteed-small 2 4
best-effort-small 2 4

vSphere 管理員可以指派任意數目的現有虛擬機器類別,使其可供 DevOps 工程師在特定命名空間內使用。

虛擬機器類別為 DevOps 工程師提供了簡化的體驗。DevOps 不需要瞭解他們計劃建立的每個虛擬機器的完整組態。但是,他們可以從可用選項中選取虛擬機器類別,然後由虛擬機器服務管理虛擬機器組態。

在 Kubernetes 端,虛擬機器類別會顯示為 VirtualMachineClassVirtualMachineClassBinding 資源。

虛擬機器映像
虛擬機器映像是一個包含軟體組態 (包括作業系統、應用程式和資料) 的範本。

當 DevOps 工程師建立虛擬機器時,可以從與命名空間相關聯的內容程式庫中選取映像。對於 DevOps,這些映像將公開為 VirtualMachineImage 物件。

虛擬機器服務支援有限數目的虛擬機器映像和客體作業系統。相容虛擬機器映像在 VMware Marketplace 上顯示為 OVF。請務必僅使用由虛擬機器服務支援的虛擬機器映像。若要尋找相容的映像,請在 VMware Cloud Marketplace 網站上搜尋 VM Service image。請參閱〈適用於 CentOS 的虛擬機器服務映像〉中適用於 CentOS 的虛擬機器服務映像範例。

內容來源
DevOps 工程師使用內容程式庫作為映像來源來建立虛擬機器。類似於虛擬機器類別,vSphere 管理員可以向命名空間指派現有內容程式庫,使其可供 DevOps 工程師使用。
儲存區類別
虛擬機器服務使用儲存區類別來放置虛擬磁碟和動態連結持續性磁碟區。如需有關儲存區類別的詳細資訊,請參閱 在 vSphere with Tanzu 中使用持續性儲存區
虛擬機器規格
DevOps 工程師在 YAML 檔案中說明了虛擬機器的所需狀態,其中整合了虛擬機器映像、虛擬機器類別和儲存區類別。
網路
虛擬機器服務沒有任何特定需求,其依賴於 vSphere with Tanzu 中可用的網路組態。虛擬機器服務支援兩種類型的網路:vSphere 網路或 NSX-T。部署虛擬機器時,可用的網路提供者會為虛擬機器配置靜態 IP 位址。如需相關資訊,請參閱 vSphere with Tanzu 的網路

vSphere 管理員佈建虛擬機器的工作流程

身為 vSphere 管理員,您可以為虛擬機器的原則和控管設定門檻,並且向 DevOps 工程師交付虛擬機器資源 (例如虛擬機器類別和虛擬機器範本)。部署虛擬機器後,可以使用 vSphere Client 進行監控。

步驟 說明 指示
1 建立和管理虛擬機器類別。
2 將一組虛擬機器類別與命名空間相關聯。 將虛擬機器類別與 vSphere with Tanzu 中的命名空間相關聯
3 建立和管理內容程式庫。
4 將內容程式庫與命名空間相關聯。
5 將儲存區類別與命名空間相關聯。 建立和設定 vSphere 命名空間
6 監控已部署的虛擬機器。 監控 vSphere with Tanzu 中可用的虛擬機器

DevOps 工程師佈建虛擬機器的工作流程

具有權限的 DevOps 工程師可以檢閱可用的虛擬機器資源,並將虛擬機器部署到命名空間中。他們可以使用 kubectl 命令執行下列工作。

步驟 說明 指示
1 列出與命名空間相關聯的虛擬機器類別、映像和其他資源。 檢視 vSphere with Tanzu 中命名空間中的可用虛擬機器資源
2 建立虛擬機器。