En esta página, se describen los campos de un archivo de configuración de infraestructura de vSphere, que se usa en la configuración de dominios de topología.
Este archivo es obligatorio si se configuró infraConfigFilePath
en el archivo de configuración del clúster de administrador.
En las siguientes secciones, se proporcionan descripciones de los objetos y campos de Secret
y los recursos personalizados de VSphereInfraConfig
. Consulta la sección Archivo de configuración de ejemplo que aparece a continuación y que muestra valores de ejemplo para los campos.
Todos los campos son obligatorios en el archivo de configuración, a menos que se indique como "Opcional".
Secret
Describe el secreto de credenciales de vSphere que almacena las credenciales de cada vCenter Server. Agrega o borra secretos según sea necesario según la cantidad de instancias de vCenter Server que planeas usar para el clúster de administrador y los clústeres de usuarios. Cada objeto debe estar separado por ---
. Puedes quitar todos los secretos de este archivo de configuración después de que se cree el clúster de administrador de forma correcta.
Secret.name
Cadena
Inmutable
Es el nombre del Secret. Este nombre debe coincidir con uno de los nombres del campo credentials.vCenters[i].secretName
en el recurso personalizado VSphereInfraConfig
.
Secret.namespace
Inmutable
Cadena
Prepropagado: kube-system
Es el espacio de nombres en el que se encuentra el Secret. Este espacio de nombres debe coincidir con el campo credentials.vCenters[i].secretNamespace
correspondiente en el recurso personalizado VSphereInfraConfig
.
stringData.admin-username
y stringData.admin-password
Las credenciales de la cuenta de usuario de vCenter que tiene el rol de administrador de vCenter Server o privilegios equivalentes Para obtener más información, consulta Privilegios de la cuenta de usuario de vCenter.
stringData.ca-crt
Mutable
Cadena de varias líneas
El certificado de la AC codificado en base64 de vCenter Server.
Sigue los pasos que se indican en Obtén tu certificado raíz de AC de vCenter hasta que ejecutes el comando que muestra el certificado codificado en base64. Copia y pega todo el certificado en este campo.
VSphereInfraConfig
La configuración de la infraestructura de vSphere Esta configuración se almacenará en el clúster de administrador y se compartirá con él y con todos sus clústeres de usuarios administradores. Cada clúster de administrador debe tener una sola configuración de infraestructura de vSphere.
VSphereInfraConfig.name
Inmutable
Cadena
Prepropagado: predeterminado
Es el nombre de la configuración de la infraestructura de vSphere.
credentials
Las credenciales que usa la configuración de la infraestructura de vSphere.
credentials.vCenters
Un array de objetos, cada uno de los cuales contiene las referencias secretas de cada servidor vCenter. Agrega o borra entradas según sea necesario. Después de crear el clúster de administrador,
puedes agregar un nuevo objeto credentials.vCenters
al
archivo de configuración si es necesario y, luego, ejecutar gkectl update admin
para
actualizar la configuración en el clúster.
credentials.vCenters[i].address
Cadena
Inmutable
Es la dirección IP o el nombre de host de vCenter Server.
Para obtener más información, consulta Busca la dirección de tu servidor de vCenter.
credentials.vCenters[i].secretName
Cadena
Inmutable
El nombre del Secret. El nombre debe coincidir con un name
en el recurso personalizado Secret
.
credentials.vCenters[i].secretNamespace
Inmutable
Cadena
kube-system prepropagado
Es el espacio de nombres en el que se encuentra el Secret. El espacio de nombres debe coincidir con el namespace
correspondiente en el recurso personalizado Secret
.
topologyDomains
Un array de objetos, cada uno de los cuales describe una configuración de dominio de topología.
Agrega o borra entradas según sea necesario. Después de crear el clúster de administrador, puedes agregar un nuevo objeto topologyDomains
al archivo de configuración si es necesario y, luego, ejecutar gkectl update admin
para actualizar la configuración en el clúster.
topologyDomains[i].name
Cadena
Inmutable
Es el nombre del dominio de la topología.
topologyDomains[i].topologyLabels
Es una lista de etiquetas aplicadas a los nodos dentro de este dominio de topología que usa el programador de Kubernetes. Cada etiqueta es un par "key":"value"
. Te recomendamos que especifiques solo una etiqueta por dominio de topología.
Ejemplo:
topologyDomains: - name: "td-01" topologyLabel: "topology.examplepetstore.com/zone": "zone-1"
Para la clave, puedes usar la restricción predeterminada a nivel del clúster de Kubernetes, "topology.kubernetes.io/zone"
, como se describe en Restricciones predeterminadas integradas.
Después de crear el clúster, la etiqueta de topología que especificaste se propaga a las etiquetas de los nodos en el dominio de topología. Si no usas "topology.kubernetes.io/zone"
como clave, deberás configurar la clave de topología en PodTemplate
en tu Deployment, StatefulSet o ReplicaSet, según corresponda.
Por ejemplo, supongamos que definiste la clave en la etiqueta de topología como "topology.examplepetstore.com/zone"
. En PodTemplate
, especificas la clave
como el valor del campo topologySpreadConstraints.topologyKey
. Esto permite que el programador de Kubernetes distribuya Pods en el dominio de topología para garantizar una alta disponibilidad y evitar la sobreconcentración en una sola área en caso de falla.
Para obtener más información sobre la configuración de topologySpreadConstraints
, consulta Restricciones de propagación de topología de pod en la documentación de Kubernetes.
topologyDomains[i].compute
Recursos de procesamiento asignados para este dominio de topología.
topologyDomains[i].compute.vcenter
Cadena
Inmutable
Es la dirección IP o el nombre de host de vCenter Server.
Para obtener más información, consulta Busca la dirección de tu servidor de vCenter.
topologyDomains[i].compute.datacenter
Cadena
Inmutable
Es la ruta de acceso relativa de un centro de datos de vSphere.
El valor que especifiques es relativo a la carpeta raíz llamada /
.
Si tu centro de datos está en la carpeta raíz, el valor es el nombre del centro de datos.
topologyDomains[i].compute.cluster
Cadena
Inmutable
Es la ruta de acceso relativa de un clúster de vSphere que representa los hosts ESXi en los que se ejecutarán las VMs de tu clúster en este dominio de topología. Este clúster de vSphere representa un subconjunto de los hosts ESXi físicos en tu centro de datos de vCenter.
El valor que especifiques es relativo a /.../DATA_CENTER/vm/
.
Si tu clúster de vSphere se encuentra en la carpeta /.../DATA_CENTER/vm/
, el valor es el nombre del clúster de vSphere.
De lo contrario, el valor es una ruta de acceso relativa que incluye una o más carpetas junto con el nombre del clúster de vSphere.
topologyDomains[i].compute.resourcePool
Cadena
Inmutable
Un grupo de recursos de vCenter para tus VMs en este dominio de topología
Si deseas usar el grupo de recursos predeterminado, configúralo como VSPHERE_CLUSTER/Resources
.
Ejemplo:
topologyDomains: - name: "td-01" compute: resourcePool: "my-vsphere-cluster/Resources"
Si deseas usar un grupo de recursos que ya creaste, configúralo en la ruta de acceso relativa de tu grupo de recursos.
El valor que especifiques es relativo a /.../DATA_CENTER/host/.../VSPHERE_CLUSTER/Resources/
Si tu grupo de recursos es un elemento secundario directo de /.../DATA_CENTER/host/.../VSPHERE_CLUSTER/Resources/
, el valor es el nombre del grupo de recursos.
Ejemplo:
topologyDomains: - name: "td-01" compute: resourcePool: "my-resource-pool"
De lo contrario, el valor es una ruta de acceso relativa que tiene dos o más grupos de recursos.
Ejemplo:
topologyDomains: - name: "td-01" compute: resourcePool: "resource-pool-1/resource-pool-2"
topologyDomains[i].compute.folder
Opcional
Inmutable
Cadena
La ruta de acceso relativa a una carpeta de vSphere que ya creaste Esta carpeta contendrá todas las VMs de este dominio de topología.
Si no especificas un valor, todas las VMs de este dominio de topología se colocarán en /.../DATA_CENTER/vm/
.
Si especificas un valor, este es relativo a /.../DATA_CENTER/vm/
.
El valor puede ser el nombre de una carpeta.
Ejemplo:
topologyDomains: - name: "td-01" compute: folder: "my-folder"
O bien, el valor puede ser una ruta de acceso relativa que incluya más de una carpeta.
Ejemplo:
topologyDomains: - name: "td-01" compute: folder: "folders/folder-1"
topologyDomains[i].storage
Parámetros de configuración de almacenamiento de este dominio de topología. Solo lo usan los discos de datos y de arranque de la máquina virtual. No se incluyen los volúmenes de CNS (aprovisionados por PVC y PV).
Especifica un valor para storage.policyName
o storage.datastore
, pero no para ambos.
topologyDomains[i].storage.policyName
Obligatorio si no se especifica storage.datastore
Cadena
Inmutable
Es el nombre de una política de almacenamiento de VM para los nodos del clúster.
Para obtener más información, consulta Configura una política de almacenamiento.
Debes especificar un valor para storage.datastore
o storage.policyName
, pero no para ambos. Si especificas un valor para este campo, no especifiques un valor para storage.datastore
.
topologyDomains[i].storage.datastore
Obligatorio si no se especifica storage.policyName
Cadena
Inmutable
Es el nombre de un almacén de datos de vSphere para tu clúster de administrador.
El valor que especifiques debe ser un nombre, no una ruta. No incluyas ninguna carpeta en el valor.
Ejemplo:
topologyDomains: - name: "td-01" storage: datastore: "my-datastore"
Debes especificar un valor para storage.datastore
o storage.PolicyName
, pero no para ambos. Si especificas un valor para este campo, no especifiques un valor para
storage.PolicyName
.
topologyDomains[i].network
Parámetros de configuración de red de este dominio de topología
topologyDomains[i].network.vsphereNetwork
Cadena
Inmutable
Es el nombre de la red de vSphere para los nodos del clúster.
Ejemplo:
topologyDomains: - name: "td-01" network: vsphereNetwork: "my-network"
Si el nombre contiene un carácter especial, debes usar una secuencia de escape.
Caracteres especiales | Secuencia de escape |
---|---|
Barra (/ ) |
%2f |
Barra inversa (\ ) |
%5c |
Signo de porcentaje (% ) |
%25 |
Si el nombre de la red no es único en tu centro de datos, puedes especificar una ruta de acceso completa.
Ejemplo:
topologyDomains: - name: "td-01" network: vsphereNetwork: "/data-centers/data-center-1/network/my-network"
topologyDomains[i].network.gateway
Es la dirección de la puerta de enlace de la subred para los nodos del clúster en este dominio de topología. La dirección IP debe ser la misma que la dirección de la puerta de enlace en el archivo de bloqueo de IP. Para ver un ejemplo, consulta el archivo de bloque de IP de ejemplo para dominios de topología.
topologyDomains[i].network.dnsServers
Inmutable
Array de cadenas.
La cantidad máxima de elementos en el array es tres.
Son las direcciones IP de los servidores DNS de las VMs.
topologyDomains[i].network.ntpServers
Inmutable
Array de cadenas
Son las direcciones IP de los servidores de tiempo para las VMs.
topologyDomains[i].network.searchDomains
Opcional
Inmutable
Array de cadenas
Son dominios de búsqueda de DNS para que usen las VM. Estos dominios se usan como parte de una lista de búsqueda de dominios.
Ejemplo:
topologyDomains: - name: "td-01" network: hostConfig: searchDomainsForDNS: - "my.local.com"
topologyDomains[i].defaultTopologyDomain
Inmutable
Opcional
Cadena
Es el nombre del dominio de topología predeterminado. Este nombre debe coincidir con uno de los nombres de topologyDomains[i].name
. Si no especificas un nombre predeterminado en el momento de la creación del clúster, puedes actualizar el archivo de configuración con un nombre si es necesario y, luego, ejecutar gkectl update admin
para actualizar la configuración en el clúster.
Los nodos se asignarán al dominio de topología predeterminado, a menos que configures un dominio de topología para los nodos del plano de control o los nodos de un grupo de nodos.
Archivo de configuración de ejemplo
En el siguiente ejemplo, se muestra un archivo de configuración con valores completados.
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"