Ficheiro de configuração da infraestrutura do vSphere

Esta página descreve os campos num ficheiro de configuração da infraestrutura do vSphere, que é usado na configuração de domínios de topologia. Este ficheiro é necessário se infraConfigFilePath no ficheiro de configuração do cluster de administrador estiver definido.

As secções seguintes fornecem descrições dos objetos e campos nos recursos personalizados Secret e VSphereInfraConfig. Consulte a secção Ficheiro de configuração de exemplo que se segue e que mostra valores de exemplo para os campos.

Todos os campos são obrigatórios no ficheiro de configuração, exceto se estiverem indicados como "Opcional".

Secret

Descreve o segredo das credenciais do vSphere que armazena as credenciais de cada servidor vCenter. Adicione ou elimine segredos conforme necessário, de acordo com o número de instâncias do vCenter Server que planeia usar para o cluster de administrador e os clusters de utilizadores. Cada objeto tem de estar separado por ---. Pode remover todos os segredos deste ficheiro de configuração depois de o cluster de administrador ser criado com êxito.

Secret.name

Imutável
String

O nome do segredo. Este nome tem de corresponder a um dos nomes no campo credentials.vCenters[i].secretName no recurso personalizado VSphereInfraConfig.

Secret.namespace

Imutável
String
Pré-preenchido: kube-system

O espaço de nomes em que o Secret se encontra. Este espaço de nomes tem de corresponder ao campo credentials.vCenters[i].secretNamespace correspondente no recurso personalizado VSphereInfraConfig.

stringData.admin-username e stringData.admin-password

As credenciais da conta de utilizador do vCenter que tem a função de administrador do vCenter Server ou privilégios equivalentes. Para mais informações, consulte o artigo Privilégios da conta de utilizador do vCenter.

stringData.ca-crt

Mutável
String multilinha

O certificado da CA codificado em Base64 do vCenter Server.

Siga os passos em Obter o certificado de raiz da AC do vCenter até executar o comando que mostra o certificado codificado em Base64. Copie e cole o certificado completo neste campo.

VSphereInfraConfig

A configuração da infraestrutura do vSphere. Esta configuração é armazenada no cluster de administrador e partilhada pelo cluster de administrador e todos os respetivos clusters de utilizadores de gestão. Cada cluster de administrador deve ter apenas uma configuração de infraestrutura do vSphere.

VSphereInfraConfig.name

Imutável
String
Pré-preenchido: predefinição

O nome da configuração da infraestrutura do vSphere.

credentials

As credenciais usadas pela configuração da infraestrutura do vSphere.

credentials.vCenters

Uma matriz de objetos, cada um dos quais contém as referências de segredos para cada servidor vCenter. Adicione ou elimine entradas conforme necessário. Depois de criar o cluster de administrador, pode adicionar um novo objeto credentials.vCenters ao ficheiro de configuração, se necessário, e, em seguida, executar gkectl update admin para atualizar a configuração no cluster.

credentials.vCenters[i].address

Imutável
String

O endereço IP ou o nome de anfitrião do seu vCenter Server.

Para mais informações, consulte o artigo Encontrar o endereço do vCenter Server.

credentials.vCenters[i].secretName

Imutável
String

O nome do Secret. O nome tem de corresponder a um name no recurso personalizado Secret.

credentials.vCenters[i].secretNamespace

Immutable
String
Prepopulated kube-system

O espaço de nomes em que o Secret se encontra. O espaço de nomes tem de corresponder ao namespace correspondente no recurso personalizado Secret.

topologyDomains

Uma matriz de objetos, cada um dos quais descreve uma configuração de domínio de topologia. Adicione ou elimine entradas conforme necessário. Depois de criar o cluster de administrador, pode adicionar um novo objeto topologyDomains ao ficheiro de configuração, se necessário, e executar gkectl update admin para atualizar a configuração no cluster.

topologyDomains[i].name

Imutável
String

O nome do domínio de topologia.

topologyDomains[i].topologyLabels

Uma lista de etiquetas aplicadas aos nós neste domínio de topologia que é usado pelo programador do Kubernetes. Cada etiqueta é um par "key":"value". Recomendamos que especifique apenas uma etiqueta por domínio de topologia.

Exemplo:

topologyDomains:
- name: "td-01"
  topologyLabel: "topology.examplepetstore.com/zone": "zone-1"

Para a chave, pode usar a restrição predefinida ao nível do cluster do Kubernetes, "topology.kubernetes.io/zone", conforme descrito em Restrições predefinidas incorporadas.

Após a criação do cluster, a etiqueta de topologia especificada é preenchida para etiquetas de nós no domínio de topologia. Se não usar "topology.kubernetes.io/zone" como chave, tem de configurar a chave de topologia no PodTemplate na sua implementação, StatefulSet ou ReplicaSet, conforme aplicável.

Por exemplo, suponhamos que definiu a chave na etiqueta de topologia como "topology.examplepetstore.com/zone". Em PodTemplate, especifica a chave como o valor do campo topologySpreadConstraints.topologyKey. Isto permite que o programador do Kubernetes distribua os pods pelo domínio da topologia para garantir a elevada disponibilidade e evitar a concentração excessiva numa única área em caso de falha.

Para mais informações sobre a configuração de topologySpreadConstraints, consulte Restrições de dispersão da topologia de pods na documentação do Kubernetes.

topologyDomains[i].compute

Recursos de computação atribuídos a este domínio de topologia.

topologyDomains[i].compute.vcenter

Imutável
String

O endereço IP ou o nome de anfitrião do seu vCenter Server.

Para mais informações, consulte o artigo Encontrar o endereço do vCenter Server.

topologyDomains[i].compute.datacenter

Imutável
String

O caminho relativo de um centro de dados do vSphere.

O valor que especificar é relativo à pasta raiz denominada /.

Se o centro de dados estiver na pasta raiz, o valor é o nome do centro de dados.

topologyDomains[i].compute.cluster

Imutável
String

O caminho relativo de um cluster do vSphere que representa os anfitriões ESXi onde as VMs do cluster neste domínio de topologia serão executadas. Este cluster do vSphere representa um subconjunto dos anfitriões ESXi físicos no seu centro de dados do vCenter.

O valor que especificar é relativo a /.../DATA_CENTER/vm/.

Se o cluster do vSphere estiver na pasta /.../DATA_CENTER/vm/, o valor é o nome do cluster do vSphere.

Caso contrário, o valor é um caminho relativo que inclui uma ou mais pastas, juntamente com o nome do cluster do vSphere.

topologyDomains[i].compute.resourcePool

Imutável
String

Um conjunto de recursos do vCenter para as suas VMs neste domínio de topologia.

Se quiser usar o conjunto de recursos predefinido, defina esta opção como VSPHERE_CLUSTER/Resources.

Exemplo:

topologyDomains:
- name: "td-01"
  compute:
    resourcePool: "my-vsphere-cluster/Resources"

Se quiser usar um conjunto de recursos que já criou, defina este parâmetro como o caminho relativo do conjunto de recursos.

O valor que especificar é relativo a /.../DATA_CENTER/host/.../VSPHERE_CLUSTER/Resources/

Se o conjunto de recursos for um filho direto de /.../DATA_CENTER/host/.../VSPHERE_CLUSTER/Resources/ o valor é o nome do conjunto de recursos.

Exemplo:

topologyDomains:
- name: "td-01"
  compute:
    resourcePool: "my-resource-pool"

Caso contrário, o valor é um caminho relativo que tem dois ou mais conjuntos de recursos.

Exemplo:

topologyDomains:
- name: "td-01"
  compute:
    resourcePool: "resource-pool-1/resource-pool-2"

topologyDomains[i].compute.folder

Opcional
Imutável
String

O caminho relativo de uma pasta do vSphere que já criou. Esta pasta vai conter todas as VMs neste domínio de topologia.

Se não especificar um valor, todas as VMs neste domínio de topologia são colocadas em /.../DATA_CENTER/vm/.

Se especificar um valor, este é relativo a /.../DATA_CENTER/vm/.

O valor pode ser o nome de uma pasta.

Exemplo:

topologyDomains:
- name: "td-01"
  compute:
    folder: "my-folder"

Em alternativa, o valor pode ser um caminho relativo que inclua mais do que uma pasta.

Exemplo:

topologyDomains:
- name: "td-01"
  compute:
    folder: "folders/folder-1"

topologyDomains[i].storage

Configurações de armazenamento deste domínio de topologia. É usado apenas por discos de dados e discos de arranque de máquinas virtuais. Os volumes de CNS (aprovisionados por PVCs e PVs) não estão incluídos.

Especifique um valor para storage.policyName ou storage.datastore, mas não ambos.

topologyDomains[i].storage.policyName

Obrigatório se storage.datastore não estiver especificado
Imutável
String

O nome de uma política de armazenamento de VMs para os nós do cluster.

Para mais informações, consulte o artigo Configure uma política de armazenamento.

Tem de especificar um valor para storage.datastore ou storage.policyName, mas não ambos. Se especificar um valor para este campo, não especifique um valor para storage.datastore.

topologyDomains[i].storage.datastore

Obrigatório se storage.policyName não estiver especificado
Imutável
String

O nome de um armazeno de dados do vSphere para o cluster de administrador.

O valor especificado tem de ser um nome, não um caminho. Não inclua pastas no valor.

Exemplo:

topologyDomains:
- name: "td-01"
  storage:
    datastore: "my-datastore"

Tem de especificar um valor para storage.datastore ou storage.PolicyName, mas não ambos. Se especificar um valor para este campo, não especifique um valor para storage.PolicyName.

topologyDomains[i].network

Configurações de rede deste domínio de topologia.

topologyDomains[i].network.vsphereNetwork

Imutável
String

O nome da rede vSphere para os nós do cluster.

Exemplo:

topologyDomains:
- name: "td-01"
  network:
    vsphereNetwork: "my-network"

Se o nome contiver um carater especial, tem de usar uma sequência de escape para o mesmo.

Carateres especiais Sequência de escape
Barra (/) %2f
Barra invertida (\) %5c
Sinal de percentagem (%) %25

Se o nome da rede não for exclusivo no seu centro de dados, pode especificar um caminho completo.

Exemplo:

topologyDomains:
- name: "td-01"
  network:
    vsphereNetwork: "/data-centers/data-center-1/network/my-network"

topologyDomains[i].network.gateway

O endereço de gateway da sub-rede para nós do cluster neste domínio de topologia. O endereço IP tem de ser igual ao endereço de gateway no ficheiro de bloco de IPs. Para ver um exemplo, consulte o ficheiro de blocos de IP de exemplo para domínios de topologia.

topologyDomains[i].network.dnsServers

Imutável
Matriz de strings.
O número máximo de elementos na matriz é três.

Os endereços IP dos servidores DNS para as VMs.

topologyDomains[i].network.ntpServers

Imutável
Matriz de strings

Os endereços IP dos servidores de tempo que as VMs devem usar.

topologyDomains[i].network.searchDomains

Opcional
Imutável
Matriz de strings

Domínios de pesquisa de DNS para as VMs usarem. Estes domínios são usados como parte de uma lista de pesquisa de domínios.

Exemplo:

topologyDomains:
- name: "td-01"
  network:
    hostConfig:
      searchDomainsForDNS:
      - "my.local.com"

topologyDomains[i].defaultTopologyDomain

Imutável
Opcional
String

O nome do domínio de topologia predefinido. Este nome tem de corresponder a um dos nomes em topologyDomains[i].name. Se não especificar um nome predefinido no momento da criação do cluster, pode atualizar o ficheiro de configuração com um nome, se necessário, e, em seguida, executar gkectl update admin para atualizar a configuração no cluster.

Os nós são atribuídos ao domínio de topologia predefinido, a menos que defina um domínio de topologia para nós do plano de controlo ou nós num conjunto de nós.

Exemplo de ficheiro de configuração

O exemplo seguinte mostra um ficheiro de configuração com valores preenchidos.

apiVersion: v1
kind: Secret
metadata:
  namespace: kube-system
  name: "vsphere-auth-0"
stringData:
  admin-username: "example-admi1n@vsphere.local"
  admin-password: "GltFl4@5f"
  ca-crt: |
    -----BEGIN CERTIFICATE-----
    MIIEITCCAwmgAwIBAgIJAPFVaTIKdyCbMA0GCSqGSIb3DQEBCwUAMIGbMQswCQYD
    VQQDDAJDQTEXMBUGCgmSJomT8ixkARkWB3ZzcGhlcmUxFTATBgoJkiaJk/IsZAEZ
    FgVsb2NhbDELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExHTAbBgNV
    BAoMFGF0bC1xdWFsLXZjMDMuYW50aG9zMRswGQYDVQQLDBJWTXdhcmUgRW5naW5l
    ZXJpbmcwHhcNMjIwODA3MDIzNTQ4WhcNMzIwODA0MDIzNTQ4WjCBmzELMAkGA1UE
    AwwCQ0ExFzAVBgoJkiaJk/IsZAEZFgd2c3BoZXJlMRUwEwYKCZImiZPyLGQBGRYF
    bG9jYWwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApDYWxpZm9ybmlhMR0wGwYDVQQK
    DBRhdGwtcXVhbC12YzAzLmFudGhvczEbMBkGA1UECwwSVk13YXJlIEVuZ2luZWVy
    aW5nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAz5MOjTQ4FHcIYjzo
    bcIFJmnVDjSnLGYDdVayhmUo1+CC5RqJRuAnJmDYt9PY/lJhVDVUSFHWJdvRjeAP
    0+xjRs33VJctzjDqwy2xRMVxoA+c8DfvALHIK+rHwIidGNt5eb2HOrB1MSCB5KFi
    gkXhJf/2kiEPiTMqbu2nWySdBfZRVSYs1jSiAuz/cgyglfVUcRFn4oRhR35QZ8gj
    t54IGY9atzKCYuvFAgeTCGBxI30cZRQDCtkWyWHPdK3GniNW/qh4C7gC+VI+Pnh+
    fUGtAx3Px/O5h5RpHDmvuSqMNoWEsChKGgbrbkZGB9OWL8OsVAUnz8TXC6s4/AG1
    0GGDGQIDAQABo2YwZDAdBgNVHQ4EFgQUM8RXjNIlar+S6uZBSH+3oVkUdGwwHwYD
    VR0RBBgwFoEOZW1haWxAYWNtZS5jb22HBH8AAAEwDgYDVR0PAQH/BAQDAgEGMBIG
    A1UdEwEB/wQIMAYBAf8CAQAwDQYJKoZIhvcNAQELBQADggEBABIO4RO3Jk6PaDyt
    +PGP1ng5fpcKbwCi90KfEkfAd/HV3YM6suEhCar6azKXJutL9gGzidi9NvKv43Pg
    hOOuTQWbdwuhqgF3YPKZ1HJWSV0NR5J9WFjp9rk1EdM6NApUwmy7EIbo8TY7M6SL
    jaR8VgaelG2PSf2S4ybxKdJ2gx2pPTcoYpd/+d9qaDFLNWa4irzB6sqBUVlkAMX+
    JW4FmMs8ym4aLzlFBzG5gjK1PCsBugbVRSAbF+Y8LwnMoe2WMiF1nNXoKSiaQm0A
    Z0psC1b37G9dKzr9soLS5OENFrAEClfVD5luETvUHo51VhanetWbZmL5dK8iGAuj
    otykS2w=
    -----END CERTIFICATE-----

---
apiVersion: v1
kind: Secret
metadata:
  namespace: kube-system
  name: "vsphere-auth-1"
stringData:
  admin-username: "example-admin2@vsphere.local"
  admin-password: "xuBAcK5lT@uq2Ix"
  ca-crt: |
    -----BEGIN CERTIFICATE-----
    MIIEITCCAwmgAwIBAgIJAMJPzGX27yKBMA0GCSqGSIb3DQEBCwUAMIGbMQswCQYD
    VQQDDAJDQTEXMBUGCgmSJomT8ixkARkWB3ZzcGhlcmUxFTATBgoJkiaJk/IsZAEZ
    FgVsb2NhbDELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExHTAbBgNV
    BAoMFGF0bC1xdWFsLXZjMTMuYW50aG9zMRswGQYDVQQLDBJWTXdhcmUgRW5naW5l
    ZXJpbmcwHhcNMjMxMjAzMjM0NDM5WhcNMzMxMTMwMjM0NDM5WjCBmzELMAkGA1UE
    AwwCQ0ExFzAVBgoJkiaJk/IsZAEZFgd2c3BoZXJlMRUwEwYKCZImiZPyLGQBGRYF
    bG9jYWwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApDYWxpZm9ybmlhMR0wGwYDVQQK
    DBRhdGwtcXVhbC12YzEzLmFudGhvczEbMBkGA1UECwwSVk13YXJlIEVuZ2luZWVy
    aW5nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA6d2PidzORMEOuIKa
    XOXB4nB7ukYGOeju1nKJ90KnvKfZBNjN1JKuNPQcZelFyEcUEHnI18cA2VGbpXbF
    O9jMlxu5VlhPepjEPAgtcAuCZNlxzRDip9u9ar3ma2SxMCogz91qDZKSE/PQpqNI
    Ozpus6YsHmK3jzAUq/Zs1+wl9HFot0e5kPf79oqQC8gPxJqmFQyGm50SdOMwj5sD
    pYm/3TZZ1gw4WftBhDecO9hKwcReCVjeVgp5omMcFHwIhqUBqZM3qX5gJaxE7ELO
    xu66VibA1g70Xzso2hGVQ13ruGjgUAjDsICOTpHHcT33KoMRzn2BWlKtmsnThIrE
    nbR9QQIDAQABo2YwZDAdBgNVHQ4EFgQUI84+93Iniliyzs3HSDatbYGsiJ4wHwYD
    VR0RBBgwFoEOZW1haWxAYWNtZS5jb22HBH8AAAEwDgYDVR0PAQH/BAQDAgEGMBIG
    A1UdEwEB/wQIMAYBAf8CAQAwDQYJKoZIhvcNAQELBQADggEBAIIihWWIcl+sKRmS
    QB4wkjR9UA7QV96lbm+HFE5qvP5xVXss+PmSjLjeNZFfX65tGlKXWDmYstcw/jon
    hnJVe/jxjIZ3GddrVfHdwOEQ+FORQyfxkLAQuHKvm/2PobGNsU0rOw14Ur4Eea6P
    pIl70eJhRX22dkOhb+y6jz+k+L52HbzMz/X6yUnTFAJzobJD0C1vGAx3FgPdbUqF
    fXYO/Q8NNrk+4561eT3x9T4RIj/0ZkBal0yQEdYnd+lOIkEmk7vmO1/eyb6+66rs
    3wz4DIxtfhJIUlj0mBL0KkyDDDoc0oFTf5V/xrYls1dJ35DNFoG/KBJGgGbaW41t
    vTz+0JA=
    -----END CERTIFICATE-----

---
apiVersion: v1
kind: Secret
metadata:
  namespace: kube-system
  name: "vsphere-auth-2"
stringData:
  admin-username: "example-admin3@vsphere.local"
  admin-password: "nWKCITwqKTaY5@M5"
  ca-crt: |
    -----BEGIN CERTIFICATE-----
    MIIEITCCAwmgAwIBAgIJAN4alqihWQukMA0GCSqGSIb3DQEBCwUAMIGbMQswCQYD
    VQQDDAJDQTEXMBUGCgmSJomT8ixkARkWB3ZzcGhlcmUxFTATBgoJkiaJk/IsZAEZ
    FgVsb2NhbDELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExHTAbBgNV
    BAoMFGF0bC1xdWFsLXZjMDcuYW50aG9zMRswGQYDVQQLDBJWTXdhcmUgRW5naW5l
    ZXJpbmcwHhcNMjMwMzI2MTc0NjE1WhcNMzMwMzIzMTc0NjE1WjCBmzELMAkGA1UE
    AwwCQ0ExFzAVBgoJkiaJk/IsZAEZFgd2c3BoZXJlMRUwEwYKCZImiZPyLGQBGRYF
    bG9jYWwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApDYWxpZm9ybmlhMR0wGwYDVQQK
    DBRhdGwtcXVhbC12YzA3LmFudGhvczEbMBkGA1UECwwSVk13YXJlIEVuZ2luZWVy
    aW5nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuvM3aSemSrBxWVei
    6pYlRvLWaCva2Q0MQvmUdVISa9uul/PHE2lwAcTAAr3Sayat2D5IRjd7NWbzaLVQ
    Sxel0TINpMfITDT0x6lZ8FfKgrRpY30CPZQlgVo16rGKE0V+wHTkGYIzRITETzuu
    z6nkpzvryh6JadSf4wrGj1TmrYpqYEmdzf7bLmz4Rql5PgVco7z+pqo0BA+UU/Uc
    /OtEcVKAyaifHzZwPlscOpKpskQrP4Ke6i3iuyrEmaDH+4sQ1TDrcYpUBfqkl+xT
    0G6ZKHs6KP18x0Xg4ifeC8x7sgajJ20TpbkDY4KtBdraj3HB4gZCxg7qY/0G75yF
    C2bZ4wIDAQABo2YwZDAdBgNVHQ4EFgQUeE+R+gRo1oU578dyiyq4tPYefpIwHwYD
    VR0RBBgwFoEOZW1haWxAYWNtZS5jb22HBH8AAAEwDgYDVR0PAQH/BAQDAgEGMBIG
    A1UdEwEB/wQIMAYBAf8CAQAwDQYJKoZIhvcNAQELBQADggEBADzBUXsxICPGxt1o
    wPrbmWhkrPy2pNr9unP/d+Py20groZ/KQ/d6dzDN7pxc6BtQbMfho7pij+mf3aHq
    oBo+J80Ha/vZExMMwYrp/OTlxy2Jdb5pzxZQtWqNVS5SkzNtDs7DhXDTY19TBZhZ
    4d+/g2eSq2/dRT7zF8q3LH6mmq0EbSRSDOm8r6AUdWt+Ov7YKTYk9c+5UTL9M9u4
    1+VBkF34hB/xc1fsFSPHTQQDOlAy5HTZgM3ygtuhmAY+UUQVLZf+8sJh+5zqc6gw
    Ecnz7HRcRPUitKACsxUm4f5VHiKUMrIBP5U1dovl4kUN8Ue0e+KnIjIGKjp4wrHi
    UtQboUw=
    -----END CERTIFICATE-----

---
apiVersion: vmware.cluster.gke.io/v1alpha1
kind: VSphereInfraConfig
metadata:
  name: default
credentials:
  vCenters:
  - address: "vc03.example"
    secretName: "vsphere-auth-0"
    secretNamespace: "kube-system"
  - address: "vc13.example"
    secretName: "vsphere-auth-1"
    secretNamespace: "kube-system"
  - address: "vc07.example"
    secretName: "vsphere-auth-2"
    secretNamespace: "kube-system"
topologyDomains:
- name: "topology-domain-0"
  topologyLabels:
    "topology.kubernetes.io/zone": "zone-0"
  compute:
    vcenter: "vc03.example"
    datacenter: "vc03"
    cluster: "workloads3"
    resourcePool: "vc03-default-pool"
  storage:
    datastore: "vsanDatastore"
  network:
    vsphereNetwork: "qual-343"
    gateway: "203.0.113.1"
    dnsServers:
    - "192.0.2.1"
    - "192.0.2.2"
    ntpServers:
    - "203.0.113.50"
- name: "topology-domain-1"
  topologyLabels:
    "topology.kubernetes.io/zone": "zone-1"
  compute:
    vcenter: "vc13.example"
    datacenter: "vc13-dc1"
    cluster: "workloads13-1"
    resourcePool: "vc13-dc1-default-pool"
  storage:
    datastore: "vsanDatastore-1c"
  network:
    vsphereNetwork: "scale-332"
    gateway: "203.0.113.2"
    dnsServers:
    - "192.0.2.10"
    - "192.0.2.11"
    ntpServers:
    - "203.0.113.51"
- name: "topology-domain-2"
  topologyLabels:
    "topology.kubernetes.io/zone": "zone-2"
  compute:
    vcenter: "vc07.example"
    datacenter: "vc07"
    cluster: "workloads7"
    resourcePool: "vc07-default-pool"
  storage:
    datastore: "vsanDatastore"
  network:
    vsphereNetwork: "qual-323"
    gateway: "203.0.113.3"
    dnsServers:
    - "192.0.2.21"
    - "192.0.2.22"
    ntpServers:
    - "203.0.113.52"