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 ha definido infraConfigFilePath
en el archivo de configuración del clúster de administrador.
En las secciones siguientes se describen los objetos y los campos de los recursos personalizados Secret
y VSphereInfraConfig
. En la sección Ejemplo de archivo de configuración que se muestra a continuación, se incluyen valores de ejemplo para los campos.
Todos los campos son obligatorios en el archivo de configuración, a menos que se indique que son opcionales.
Secret
Describe el secreto de las credenciales de vSphere, que almacena las credenciales de cada servidor vCenter. Añade o elimina secretos según sea necesario en función del número de instancias de vCenter Server que vayas a usar en el clúster de administración y en los clústeres de usuario. Cada objeto debe estar separado por ---
. Puedes eliminar todos los secretos de este archivo de configuración una vez que se haya creado el clúster de administrador correctamente.
Secret.name
Inmutable
String
Nombre del secreto. Este nombre debe coincidir con uno de los nombres del campo credentials.vCenters[i].secretName
del recurso personalizado VSphereInfraConfig
.
Secret.namespace
Inmutable
Cadena
Prepoblado: kube-system
El espacio de nombres en el que se encuentra el secreto. Este espacio de nombres debe coincidir con el campo credentials.vCenters[i].secretNamespace
correspondiente del recurso personalizado VSphereInfraConfig
.
stringData.admin-username
y stringData.admin-password
Las credenciales de la cuenta de usuario de vCenter que tiene el rol Administrador de vCenter Server o privilegios equivalentes. Para obtener más información, consulta los privilegios de las cuentas de usuario de vCenter.
stringData.ca-crt
Mutable
Cadena multilínea
El certificado de CA codificado en Base64 de vCenter Server.
Sigue los pasos que se indican en Obtener el certificado raíz de la AC de vCenter hasta que ejecutes el comando que muestra el certificado codificado con 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á entre el clúster de administrador y todos los clústeres de usuario que gestione. Cada clúster de administrador debe tener una sola configuración de infraestructura de vSphere.
VSphereInfraConfig.name
Inmutable
Cadena
Rellenado previamente: predeterminado
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
Una matriz de objetos, cada uno de los cuales contiene las referencias de Secret de cada servidor de vCenter. Añade o elimina entradas según sea necesario. Una vez creado el clúster de administrador, puedes añadir un nuevo objeto credentials.vCenters
al archivo de configuración si es necesario y, a continuación, ejecutar gkectl update admin
para actualizar la configuración del clúster.
credentials.vCenters[i].address
Inmutable
Cadena
La dirección IP o el nombre de host de tu servidor vCenter.
Para obtener más información, consulta Buscar la dirección de vCenter Server.
credentials.vCenters[i].secretName
Inmutable
String
Nombre del secreto. El nombre debe coincidir con un name
del recurso personalizado Secret
.
credentials.vCenters[i].secretNamespace
Inmutable
Cadena
kube-system rellenado previamente
El espacio de nombres en el que se encuentra el secreto. El espacio de nombres debe coincidir con el namespace
correspondiente del recurso personalizado Secret
.
topologyDomains
Matriz de objetos, cada uno de los cuales describe una configuración de dominio de topología.
Añade o elimina entradas según sea necesario. Una vez creado el clúster de administrador, puedes añadir un nuevo objeto topologyDomains
al archivo de configuración si es necesario y, a continuación, ejecutar gkectl update admin
para actualizar la configuración del clúster.
topologyDomains[i].name
Inmutable
String
El nombre del dominio de topología.
topologyDomains[i].topologyLabels
Lista de etiquetas aplicadas a los nodos 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"
En el caso de la clave, puedes usar la restricción predeterminada a nivel de clúster de Kubernetes, "topology.kubernetes.io/zone"
, tal como se describe en Restricciones predeterminadas integradas.
Una vez creado el clúster, la etiqueta de topología que hayas especificado se asignará a las etiquetas de los nodos del dominio de topología. Si no usas "topology.kubernetes.io/zone"
como clave, tendrás que configurar la clave de topología en el PodTemplate
de tu Deployment, StatefulSet o ReplicaSet, según corresponda.
Por ejemplo, supongamos que ha definido la clave en la etiqueta de topología como
"topology.examplepetstore.com/zone"
. En PodTemplate
, especifica la clave
como valor del campo topologySpreadConstraints.topologyKey
. Esto permite que el programador de Kubernetes distribuya los pods en el dominio de topología para asegurar la alta disponibilidad y evitar la concentración excesiva en una sola zona en caso de fallo.
Para obtener más información sobre cómo configurar topologySpreadConstraints
, consulta el artículo sobre restricciones de distribución de topología de pods de la documentación de Kubernetes.
topologyDomains[i].compute
Recursos de computación asignados a este dominio de topología.
topologyDomains[i].compute.vcenter
Inmutable
String
La dirección IP o el nombre de host de tu servidor vCenter.
Para obtener más información, consulta Buscar la dirección de vCenter Server.
topologyDomains[i].compute.datacenter
Inmutable
String
Ruta relativa de un centro de datos de vSphere.
El valor que especifiques será relativo a la carpeta raíz llamada /
.
Si su centro de datos está en la carpeta raíz, el valor es el nombre del centro de datos.
topologyDomains[i].compute.cluster
Inmutable
String
La ruta 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 de tu centro de datos de vCenter.
El valor que especifiques será relativo a /.../DATA_CENTER/vm/
.
Si tu clúster de vSphere está en la carpeta /.../DATA_CENTER/vm/
, el valor es el nombre del clúster de vSphere.
De lo contrario, el valor es una ruta relativa que incluye una o varias carpetas junto con el nombre del clúster de vSphere.
topologyDomains[i].compute.resourcePool
Inmutable
String
Un grupo de recursos de vCenter para las VMs de este dominio de topología.
Si quieres usar el grupo de recursos predeterminado, asigna el valor VSPHERE_CLUSTER/Resources
a este campo.
Ejemplo:
topologyDomains: - name: "td-01" compute: resourcePool: "my-vsphere-cluster/Resources"
Si quieres usar un grupo de recursos que ya has creado, asigna a este campo la ruta relativa del grupo de recursos.
El valor que especifiques será 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 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
Ruta relativa de una carpeta de vSphere que ya has creado. Esta carpeta contendrá todas las VMs de este dominio de topología.
Si no especifica ningún valor, todas las máquinas virtuales de este dominio de topología se colocarán en /.../DATA_CENTER/vm/
.
Si especificas un valor, será relativo a /.../DATA_CENTER/vm/
.
El valor puede ser el nombre de una carpeta.
Ejemplo:
topologyDomains: - name: "td-01" compute: folder: "my-folder"
También puede ser una ruta relativa que incluya más de una carpeta.
Ejemplo:
topologyDomains: - name: "td-01" compute: folder: "folders/folder-1"
topologyDomains[i].storage
Configuraciones de almacenamiento de este dominio de topología. Solo lo usan los discos de datos y los discos de arranque de las máquinas virtuales. Los volúmenes de CNS (aprovisionados por PVCs y PVs) no se incluyen.
Se puede especificar un valor para storage.policyName
o storage.datastore
, pero no para ambos.
topologyDomains[i].storage.policyName
Obligatorio si no se especifica storage.datastore
Inmutable
Cadena
Nombre de una política de almacenamiento de VM para los nodos del clúster.
Para obtener más información, consulta Configurar una política de almacenamiento.
Debe especificar un valor para storage.datastore
o storage.policyName
, pero no para ambos. Si especifica un valor para este campo, no especifique ningún valor para storage.datastore
.
topologyDomains[i].storage.datastore
Obligatorio si no se especifica storage.policyName
Inmutable
Cadena
Nombre de un almacén de datos de vSphere de tu clúster de administración.
El valor que especifique debe ser un nombre, no una ruta. No incluyas ninguna carpeta en el valor.
Ejemplo:
topologyDomains: - name: "td-01" storage: datastore: "my-datastore"
Debe especificar un valor para storage.datastore
o storage.PolicyName
, pero no para ambos. Si especifica un valor para este campo, no especifique ningún valor para storage.PolicyName
.
topologyDomains[i].network
Configuraciones de red de este dominio de topología.
topologyDomains[i].network.vsphereNetwork
Inmutable
Cadena
El nombre de la red de vSphere de 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 inclinada (/ ) |
%2f |
Barra inversa (\ ) |
%5c |
Símbolo de porcentaje (% ) |
%25 |
Si el nombre de la red no es único en su centro de datos, puede especificar una ruta completa.
Ejemplo:
topologyDomains: - name: "td-01" network: vsphereNetwork: "/data-centers/data-center-1/network/my-network"
topologyDomains[i].network.gateway
Dirección de la pasarela de la subred de 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 pasarela del archivo de bloque de IP. Por ejemplo, consulta el archivo de bloque de IPs de ejemplo para dominios de topología.
topologyDomains[i].network.dnsServers
Inmutable
Array de cadenas.
El número máximo de elementos de la matriz es tres.
Las direcciones IP de los servidores DNS de las VMs.
topologyDomains[i].network.ntpServers
Inmutable
Array de cadenas
Las direcciones IP de los servidores de tiempo que deben usar las VMs.
topologyDomains[i].network.searchDomains
Opcional
Inmutable
Array de cadenas
Dominios de búsqueda de DNS que usarán las VMs. 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
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 al crear el clúster, puedes actualizar el archivo de configuración con un nombre si es necesario y, a continuación, ejecutar gkectl update admin
para actualizar la configuración del clúster.
Los nodos se asignarán al dominio de topología predeterminado a menos que definas un dominio de topología para los nodos del plano de control o los nodos de un grupo de nodos.
Ejemplo de archivo de configuración
En el ejemplo siguiente se muestra un archivo de configuración con los valores rellenados.
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"