クラスタ構成で vSphere フォルダを指定する

このドキュメントでは、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  
Anthos clusters on VMware 1.13.0 以降、vSphere オブジェクト名は、次のオペレーションに関する上記のルールに従って検証されます。

  • gkectl の作成
  • 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 構成を変更して競合を解決できない場合は、新しいクラスタを作成する必要があります。