建立 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
:上一個步驟中的 IDREGION
:私有雲的區域
執行
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
:上一個步驟中的 IDREGION
:私有雲的區域
設定私人服務存取權,將 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
:私有雲的 IDZONE
: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
:這項要求的專案 IDZONE
:Private Cloud 的可用區PRIVATE_CLOUD_ID
:Private Cloud 的 IDREGION
:這個私有雲的網路區域NETWORK_NAME
:Private Cloud 的網路名稱CLUSTER_ID
:這個 Private Cloud 中新叢集的 IDNODE_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
:這項要求的專案 IDREGION
:私有雲的區域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
:這項要求的專案 IDZONE
:Private Cloud 的可用區PRIVATE_CLOUD_ID
:私有雲的 ID
Python
建立舊版網路。
建立三節點私有雲。
create_private_cloud
函式會傳回作業物件,您可以用來檢查作業進度。檢查作業狀態。擷取作業的目前資訊。
您可以使用作業物件的
.result()
成員方法,等待作業完成。設定私人服務存取權,將 VMware Engine 網路連線至虛擬私有雲。
擷取 vCenter 和 NSX 憑證。
VMware Engine 建立新私有雲時,會部署多個 VMware 元件,並將提供的 IP 位址範圍劃分為子網路。建立私有雲可能需要 30 分鐘到 2 小時。完成佈建後,您會收到電子郵件。