建立 VMware Engine 私有雲
私有雲是獨立的 VMware 堆疊,包含 ESXi 主機、vCenter、vSAN、NSX 和 HCX。您可透過Google Cloud 控制台管理私有雲。建立私有雲時,您會取得單一 vSphere 叢集,以及在該叢集中建立的所有管理 VM。
VMware Engine 會在您為 vSphere/vSAN 子網路選取的網路中部署管理元件。部署期間,內部 IP 位址範圍會劃分為不同的子網路。
事前準備
執行本頁面的工作前,請先完成下列必要步驟。
- 為要建立的私有雲 vSphere/vSAN 子網路分配專屬 IP 位址範圍。- CIDR 範圍前置字串下限: /24
- CIDR 範圍前置字串上限: /20
 
- 如要使用 Cloud DNS 進行全域位址解析,請啟用 Cloud DNS API 並完成 Cloud DNS 設定,再建立私有雲。
vSphere/vSAN 子網路位址空間不得與任何會與私有雲通訊的網路重疊,例如內部部署網路和Google Cloud 虛擬私有雲端 (VPC) 網路。如要進一步瞭解 vSphere 或 vSAN 子網路,請參閱「VMware Engine 上的 VLAN 和子網路」。
Google Cloud CLI 和 API 需求
如要使用 gcloud 指令列工具或 API 管理 VMware Engine 資源,建議按照下列說明設定工具。
gcloud
- 設定預設專案 ID: - gcloud config set project PROJECT_ID 
- 設定預設地區和區域: - gcloud config set compute/region REGION - gcloud config set compute/zone ZONE 
如要進一步瞭解 gcloud vmware 工具,請參閱 Cloud SDK 參考文件。
API
本文件集中的 API 範例會使用 cURL 指令列工具查詢 API。您必須在cURL要求中提供有效的存取權杖。取得有效存取權杖的方法有很多,以下步驟使用 gcloud 工具產生存取權杖:
- 登入 Google Cloud: - gcloud auth login 
- 產生存取權杖並匯出至 TOKEN: - export TOKEN=`gcloud auth print-access-token` 
- 確認 TOKEN 設定正確: - echo $TOKEN 
現在,您可以在 API 要求中使用授權權杖。例如:
curl -X GET -H "Authorization: Bearer \"$TOKEN\"" -H "Content-Type: application/json; charset=utf-8" https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations
Python
本說明文件中的 Python 程式碼範例會使用 VMware Engine 程式庫與 API 通訊。如要使用這種方法,必須先安裝程式庫,並設定應用程式預設憑證。
- 下載並安裝 Python 程式庫: - pip install google-cloud-vmwareengine 
- 在殼層中執行這些指令,設定 ADC 資訊: - gcloud auth application-default login - 或者,使用服務帳戶金鑰檔案: - export GOOGLE_APPLICATION_CREDENTIALS="FILE_PATH" 
如要進一步瞭解程式庫,請造訪參考頁面或查看 GitHub 上的程式碼範例。
建立標準私有雲
主控台
如要使用 Google Cloud 控制台建立標準私有雲,請按照下列步驟操作:
- 前往 Google Cloud 控制台的「Private clouds」頁面。 
- 按一下「選取專案」,然後選取要建立私有雲的機構、資料夾或專案。 
- 點選「建立」。 
- 輸入私有雲的名稱。 
- 選取「標準私有雲」做為私有雲類型。 
- 選取要部署私有雲的位置。 
- 輸入主要叢集的名稱。 
- 選取主要叢集的節點類型。 
- 選取私有雲的節點數量。如要處理實際工作環境工作負載,請建立至少有 3 個節點的私有雲。VMware Engine 會在 60 天後刪除只含 1 個節點的私有雲。 
- 選用:如要減少管理叢集中每個節點可用的核心數,請按一下「自訂核心」切換鈕。詳情請參閱「自訂核心數量」。 
- 請輸入 VMware 管理網路的 CIDR 範圍,如要瞭解這個範圍的限制,請參閱「事前準備」一節。 
- 按一下「檢查並建立」。 
- 檢查設定。如要變更任何設定,請按一下「返回」。 
- 按一下「建立」,開始佈建私有雲。 
以下清單詳細說明建立私有雲時的每個欄位:
- 名稱:私有雲的永久專屬 ID。
- 說明:私有雲詳細資料頁面顯示的其他資訊。
- 區域:VMware Engine 託管私有雲的地理區域。
- 可用區:區域的子集,與同區域內的其他可用區實體隔離。可用區是區域內的單一故障網域。
- 主要叢集名稱:在私有雲中為初始 vSphere 叢集指定的名稱。私人雲端的 VMware 管理設備會在這個叢集上執行。
- 節點類型:主要叢集中節點的硬體設定。
- 節點:主要叢集中的節點數量。
- 管理 IP 位址範圍:用於 vCenter Server、NSX Manager、ESXi 主機和私有雲基礎架構其他部分的 IP 位址範圍。這個範圍不會用於工作負載 VM,且不得與 VPC 網路或任何其他您打算連線至私有雲的網路重疊。
- VMware Engine 網路:網路資源,可根據網路政策處理私有雲連線。您和連線至這個 VMware Engine 網路的資源,可以從 Google Cloud存取私有雲。
gcloud
如要使用 Google Cloud CLI 建立延展型私有雲,請按照下列步驟操作:
- 選用:執行 - gcloud vmware locations list指令,列出專案的可用區域和可用區:- gcloud vmware locations list \ --project=PROJECT_ID- 更改下列內容: - PROJECT_ID:這項要求的專案 ID
 
- 執行 - gcloud vmware networks create指令,為私有雲建立網路:- gcloud vmware networks create NETWORK_NAME \ --type=LEGACY \ --location=REGION \ --description="DESCRIPTION"- 更改下列內容: - NETWORK_NAME:Private Cloud 的網路名稱
- REGION:私有雲的區域
- DESCRIPTION:私有雲的說明
 - 要求會傳回作業 ID。 
- 執行 - gcloud vmware operations describe指令,檢查作業狀態: 作業傳回- DONE時,請檢查回應,確認作業是否成功:- gcloud vmware operations describe OPERATION_ID \ --location REGION- 更改下列內容: - OPERATION_ID:上一個步驟中的 ID
- REGION:私有雲的區域
 
- 執行 - gcloud vmware private-clouds create指令,建立三個節點的私有雲:- gcloud vmware private-clouds create PRIVATE_CLOUD_ID \ --location=ZONE \ --cluster=CLUSTER_ID \ --node-type-config=type=NODE_TYPE,count=NODE_COUNT \ --management-range=`IP_ADDRESS` \ --vmware-engine-network=NETWORK_NAME - 更改下列內容: - PRIVATE_CLOUD_ID:私有雲的名稱。
- ZONE:Private Cloud 的可用區。
- CLUSTER_ID:這個 Private Cloud 中新叢集的名稱。
- NODE_TYPE:節點類型。詳情請參閱「節點類型」。
- NODE_COUNT:節點數。指定三或以上的值。
- IP_ADDRESS:此要求的 IP 位址,例如- 192.168.0.0/24。
- NETWORK_NAME:這個雲端的網路名稱。
 - 要求會傳回作業 ID,您可以使用該 ID 檢查作業進度。 
- 執行 - gcloud vmware operations describe指令,檢查作業狀態: 作業傳回- DONE時,請檢查回應,確認作業是否成功。- gcloud vmware operations describe OPERATION_ID \ --location REGION- 更改下列內容: - OPERATION_ID:上一個步驟中的 ID
- REGION:私有雲的區域
 
- 設定私人服務存取權,將 VMware Engine 網路連線至虛擬私有雲。 
- 分別執行 - gcloud vmware private-clouds vcenter credentials describe和- gcloud vmware private-clouds nsx credentials describe指令,擷取 vCenter 和 NSX 憑證。- gcloud vmware private-clouds vcenter credentials describe \ --private-cloud=PRIVATE_CLOUD_ID \ --location=ZONE- gcloud vmware private-clouds nsx credentials describe \ --private-cloud=PRIVATE_CLOUD_ID \ --location=ZONE- 更改下列內容: - PRIVATE_CLOUD_ID:私有雲的 ID
- ZONE:Private Cloud 的可用區
 
API
如要使用 VMware Engine API 建立延展型私有雲,請按照下列步驟操作:
- 發出 - POST要求,建立舊版網路。- curl -X POST -H "Authorization: Bearer TOKEN" -H "Content-Type: application/json; charset=utf-8" https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/vmwareEngineNetworks?vmwareEngineNetworkId=NETWORK_NAME -d "{"type": "legacy"}"- 更改下列內容: - TOKEN:這項要求的授權權杖
- PROJECT_ID:這項要求所屬的專案
- REGION:要在哪個區域建立這個網路
- NETWORK_NAME:Private Cloud 的網路名稱
 - 要求會傳回作業 ID,您可以使用該 ID 檢查作業進度。 
- 提出 - GET要求,即可查看作業狀態。作業以- DONE形式傳回時,請檢查回應,確認作業是否成功:- curl -X GET -H "Authorization: Bearer TOKEN" -H "Content-Type: application/json; charset=utf-8" https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/operations/OPERATION_ID - 將 - OPERATION_ID取代為上一步的 ID。
- 發出 - POST要求,建立三個節點的私有雲:- curl -X POST -H "Authorization: Bearer TOKEN" -H "Content-Type: application/json; charset=utf-8" https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/privateClouds?privateCloudId=PRIVATE_CLOUD_ID -d "{ "networkConfig":{ "vmwareEngineNetwork":"projects/PROJECT_ID/locations/REGION/vmwareEngineNetworks/NETWORK_NAME", "managementCidr":"10.241.0.0/22" }, "managementCluster":{ "clusterId": "CLUSTER_ID", "nodeTypeConfigs": { "standard-72": { "nodeCount": NODE_COUNT } } } }"- 更改下列內容: - TOKEN:這項要求的授權權杖。
- PROJECT_ID:這項要求的專案 ID
- ZONE:Private Cloud 的可用區
- PRIVATE_CLOUD_ID:Private Cloud 的 ID
- REGION:這個私有雲的網路區域
- NETWORK_NAME:Private Cloud 的網路名稱
- CLUSTER_ID:這個 Private Cloud 中新叢集的 ID
- NODE_COUNT:節點數。指定三或以上的值。
 - 要求會傳回作業 ID,您可以使用該 ID 檢查作業進度。 
- 提出 - GET要求,即可查看作業狀態。作業傳回- DONE時,請檢查回應,確認作業是否成功:- curl -X GET -H "Authorization: Bearer TOKEN" -H "Content-Type: application/json; charset=utf-8" https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/operations/OPERATION_ID - 更改下列內容: - PROJECT_ID:這項要求的專案 ID
- REGION:私有雲的區域
- OPERATION_ID:上一個步驟中的 ID
 
- 設定私人服務存取權,將 VMware Engine 網路連線至虛擬私有雲。 
- 發出 - GET要求,擷取 vCenter 和 NSX 憑證:- curl -X GET -H "Authorization: Bearer \"TOKEN"\" -H "Content-Type: application/json; charset=utf-8" "https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/privateClouds/PRIVATE_CLOUD_ID:showVcenterCredentials" - curl -X GET -H "Authorization: Bearer \"TOKEN"\" -H "Content-Type: application/json; charset=utf-8" "https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/privateClouds/PRIVATE_CLOUD_ID:showNsxCredentials" - 更改下列內容: - PROJECT_ID:這項要求的專案 ID
- ZONE:Private Cloud 的可用區
- PRIVATE_CLOUD_ID:私有雲的 ID
 
Python
- 建立舊版網路。 
- 建立三節點私有雲。 - create_private_cloud函式會傳回作業物件,您可以用來檢查作業進度。
- 檢查作業狀態。擷取作業的目前資訊。 - 您可以使用作業物件的 - .result()成員方法,等待作業完成。
- 設定私人服務存取權,將 VMware Engine 網路連線至虛擬私有雲。 
- 擷取 vCenter 和 NSX 憑證。 
VMware Engine 建立新私有雲時,會部署多個 VMware 元件,並將提供的 IP 位址範圍劃分為子網路。建立私有雲可能需要 30 分鐘到 2 小時。完成佈建後,您會收到電子郵件。