Especificar pastas do vSphere na configuração do cluster

Este documento mostra como especificar objetos do vSphere nos arquivos de configuração do cluster quando a configuração do vCenter contém pastas mãe. Ele também documenta as regras de nomenclatura aplicadas pelas validações de simulação a partir de 1.13.0.

Supondo que o exemplo de configuração do vCenter a seguir indique o caminho da raiz do vCenter para o objeto específico

Hosts e clusters

VMs e modelos

Armazenamento

Rede

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
        

Para criar um cluster do Anthos em my-resource-pool e my-vm-folder usando my-datastore e my-portgroup, especifique a seguinte configuração de cluster de administrador:

    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"

  

Se o pool de recursos estiver aninhado em outro pool de recursos, especifique o caminho completo para ele na configuração do cluster de administrador, conforme mostrado no exemplo a seguir:

    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"
  

Para criar um cluster de administrador do Anthos no ResourcePool padrão usando my-datastore e my-portgroup, especifique a seguinte configuração de cluster:

    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"
  

Se a pasta da VM estiver aninhada em outra pasta da VM, especifique o caminho completo dela na configuração do cluster de administrador, conforme mostrado no exemplo a seguir:

    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"
  

É necessário incluir o primeiro "/" no caminho completo da pasta da VM.

Isso também se aplica à configuração da estação de trabalho do administrador e cluster de usuário, já que a seção do vCenter é comum entre esses arquivos de configuração.

Regras de nomenclatura

Não especifique a pasta mãe ao especificar um repositório de dados, porque o nome do repositório de dados deve ser exclusivo em um datacenter. Se uma pasta for especificada, o seguinte erro será retornado:

  Datastore name 'storage-folder/my-datastore' should not contain parent folders

Para todos os outros tipos de objeto do vSphere, a pasta pai precisa ser especificada quando a configuração do vCenter contém pastas mãe. Se as pastas mãe necessárias não forem especificadas na configuração do cluster, mas presentes na configuração do vCenter, o erro a seguir será retornado:

 Parent folder is not specified for cluster, you must specify the full path 'clusters/my-cluster' in the cluster field  
A partir dos Clusters do Anthos no VMware 1.13.0, os nomes de objetos do vSphere são validados de acordo com as regras acima para as seguintes operações:

  • Criar gkectl
  • gkectl check-config

Ainda há uma chance de que a resolução de um objeto do vSphere seja ambígua nas situações de exemplo a seguir

  • Um cluster tem upgrade de uma versão anterior que viola as regras de nomenclatura, e a configuração do vCenter contém uma pasta/objeto conflitante.
  • Objetos com nomes conflitantes não estavam presentes durante a criação do cluster, mas foram adicionados mais tarde

Por exemplo, considere a configuração do vCenter

 
my-vcenter
  my-datacenter-folder
    my-datacenter
      my-cluster-folder
        my-cluster
          my-resourcepool
  

Em seguida, se a seguinte hierarquia for adicionada mais tarde

my-vcenter
  my-datacenter-folder
    my-datacenter
      my-cluster
        my-resourcepool
  

a resolução de "my-resourcepool" será ambígua se os arquivos de configuração não especificarem "my-cluster-folder" durante a criação do cluster.

Talvez você encontre o seguinte erro: path 'my-resourcepool' resolves to multiple resource pools

De modo geral, a biblioteca do vSphere retorna a seguinte mensagem de erro quando a resolução do objeto é ambígua:

 path xxx resolves to multiple objects 

Para corrigir o erro, confira se o caminho não contém nomes de objetos conflitantes (como um dentro de uma pasta e outro sem). Remova ou renomeie o objeto que não pertence ao cluster e causa o conflito. Como os campos do vSphere são imutáveis quando o cluster é criado, é necessário criar um novo cluster se o conflito não puder ser resolvido modificando a configuração do vCenter.