このドキュメントでは、vCenter 構成に親フォルダが含まれている場合に、クラスタ構成ファイルで vSphere オブジェクトを指定する方法について説明します。また、1.13.0 以降のプリフライト検証で適用される命名規則についても説明します。
vCenter ルートから特定のオブジェクトへのパスを示す次の vCenter 構成を例に説明します。
| ホストとクラスタ | VM とテンプレート | ストレージ | ネットワーク | 
|---|---|---|---|
| 
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-datastore と my-portgroup を使用して my-resource-pool と my-vm-folder に 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"
  my-datastore と my-portgroup を使用してデフォルトの ResourcePool に 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"
  vm フォルダのフルパスの先頭に / を含める必要があります。
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
このエラーを修正するには、パスに競合するオブジェクト名(1 つはフォルダ内のオブジェクト名で、1 つは存在しないオブジェクト名など)が含まれていないことを確認します。クラスタに属さないオブジェクト、または競合を引き起こしているオブジェクトを削除するか、名前を変更をします。クラスタの作成後は vSphere フィールドを変更できません。vCenter 構成の変更で競合を解決できない場合は、新しいクラスタを作成する必要があります。