本文說明當 vCenter 設定包含父項資料夾時,如何在叢集設定檔中指定 vSphere 物件。此外,本文也記錄了從 1.13.0 開始,預檢驗證所套用的命名規則。
假設下列 vCenter 設定範例指出從 vCenter 根目錄到特定物件的路徑
主機和叢集 |
虛擬機器和範本 |
儲存空間 |
網路 |
---|---|---|---|
my-vcenter my-datacenter-folder my-datacenter my-cluster-folder my-cluster my-resourcepool |
my-vcenter my-datacenter-folder my-datacenter my-vm-folder |
my-vcenter my-datacenter-folder my-datacenter my-storage-folder my-datastore |
my-vcenter my-datacenter-folder my-datacenter my-network-folder my-portgroup |
如要在 my-resource-pool 和 my-vm-folder 中,使用 my-datastore 和 my-portgroup 建立 Anthos 叢集,請指定下列管理員叢集設定:
vCenter: address: "my-vcenter" datacenter: "my-datacenter-folder/my-datacenter" cluster: "my-cluster-folder/my-cluster" resourcePool: "my-resourcepool" datastore: "my-datastore" folder: "my-vm-folder" network: vCenter: networkName: "my-network-folder/my-portgroup"
如果資源集區巢狀內嵌於另一個資源集區,請在管理員叢集設定中指定資源集區的完整路徑,如下列範例所示:
vCenter: address: "my-vcenter" datacenter: "my-datacenter-folder/my-datacenter" cluster: "my-cluster-folder/my-cluster" resourcePool: "my-cluster-folder/my-cluster/Resources/my-resourcepool/my-nested-resourcepool" datastore: "my-datastore" folder: "my-vm-folder" network: vCenter: networkName: "my-network-folder/my-portgroup"
如要在預設 ResourcePool 中使用 my-datastore 和 my-portgroup 建立 Anthos 管理員叢集,請指定下列叢集設定:
vCenter: address: "my-vcenter" datacenter: "my-datacenter-folder/my-datacenter" cluster: "my-cluster-folder/my-cluster" resourcePool: "my-cluster-folder/my-cluster/Resources" datastore: "my-datastore" folder: "my-vm-folder" network: vCenter: networkName: "my-network-folder/my-portgroup"
如果 VM 資料夾位於另一個 VM 資料夾下方,請在管理員叢集設定中指定 VM 資料夾的完整路徑,如下列範例所示:
vCenter: address: "my-vcenter" datacenter: "my-datacenter-folder/my-datacenter" cluster: "my-cluster-folder/my-cluster" resourcePool: "my-resourcepool" datastore: "my-datastore" folder: "/my-datacenter-folder/my-datacenter/vm/my-vm-folder/my-nested-vm-folder" network: vCenter: networkName: "my-network-folder/my-portgroup"
請注意,虛擬機器資料夾的完整路徑必須包含第一個「/」。
這也適用於使用者叢集和管理員工作站設定,因為 vCenter 區段在這些設定檔中是通用的。
命名規則
指定資料存放區時,請勿指定父項資料夾,因為資料存放區名稱在資料中心內不得重複。如果指定資料夾,系統會傳回下列錯誤:
Datastore name 'storage-folder/my-datastore' should not contain parent folders
如果 vCenter 設定包含上層資料夾,則所有其他 vSphere 物件類型都應指定上層資料夾。 如果叢集設定中未指定必要父項資料夾,但 vCenter 設定中存在這些資料夾,系統會傳回下列錯誤:
Parent folder is not specified for cluster, you must specify the full path 'clusters/my-cluster' in the cluster field
- gkectl create
- gkectl check-config
在下列範例情況下,vSphere 物件解析度仍可能模稜兩可
- 叢集是從違反命名規則的舊版升級,且 vCenter 設定包含衝突的資料夾/物件,
- 叢集建立期間沒有名稱衝突的物件,但後來新增了這類物件
舉例來說,請考量指定的 vCenter 設定
my-vcenter my-datacenter-folder my-datacenter my-cluster-folder my-cluster my-resourcepool
接著,如果稍後新增下列階層
my-vcenter my-datacenter-folder my-datacenter my-cluster my-resourcepool
如果設定檔在建立叢集時未指定 my-cluster-folder,則「my-resourcepool」的解析度會模稜兩可
您可能會遇到下列錯誤:
path 'my-resourcepool' resolves to multiple resource pools
一般來說,物件解析度不明確時,vSphere 程式庫會傳回下列錯誤訊息:
path xxx resolves to multiple objects
如要修正錯誤,請確保路徑不含衝突的物件名稱 (例如資料夾內和資料夾外的物件名稱)。移除或重新命名不屬於叢集且造成衝突的物件。叢集建立後,vSphere 欄位就無法變更。如果修改 vCenter 設定後仍無法解決衝突,就必須建立新的叢集。