在叢集設定中指定 vSphere 資料夾

本文說明當 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  
從 Anthos Clusters on VMware 1.13.0 開始,系統會根據上述規則驗證 vSphere 物件名稱,適用於下列作業:

  • 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 設定後仍無法解決衝突,就必須建立新的叢集。