En este documento se proporciona información sobre las comprobaciones previas que se ejecutan al crear o actualizar un clúster en Google Distributed Cloud (solo software) para VMware.
Revisar las reglas de cortafuegos
En la versión 1.29 y posteriores, las comprobaciones previas del lado del servidor están habilitadas de forma predeterminada al crear, actualizar y mejorar clústeres. Las comprobaciones previas del lado del servidor requieren reglas de cortafuegos adicionales. En Reglas de firewall para clústeres de administrador, busca "Comprobaciones previas" y asegúrate de que todas las reglas de firewall necesarias estén configuradas.
Ejecutando gkectl check-config
Si tienes previsto crear clústeres con gkectl
, ejecuta gkectl create-config
para generar un archivo de configuración. El archivo de configuración controla la instalación: usted proporciona información sobre su entorno de vSphere, su red y su balanceador de carga, así como sobre el aspecto que quiere que tengan sus clústeres. Puedes generar un archivo de configuración antes o después de crear una estación de trabajo de administrador. Para que se superen determinadas comprobaciones, deben ejecutarse desde la estación de trabajo de administrador.
Una vez que haya modificado el archivo para adaptarlo a las necesidades de su entorno y sus clústeres, podrá usarlo para crear los clústeres en su entorno local.
Antes de crear clústeres con gkectl
, ejecuta gkectl check-config
para validar el archivo de configuración con varias comprobaciones previas.
Si el comando devuelve algún mensaje FAILURE
, corrige los problemas y vuelve a validar el archivo. Si la validación de una función devuelve algún mensaje de ADVERTENCIA, debes solucionar los problemas subyacentes para poder usar esa función.
Modos de comprobación preparatoria y omisión de validaciones
gkectl check-config
tiene un modo predeterminado y un modo rápido:
En el modo predeterminado, el comando valida exhaustivamente cada campo. Además, el modo predeterminado crea máquinas virtuales (VMs) de vSphere temporales como parte de sus validaciones, lo que puede llevar más tiempo.
En el modo rápido, el comando omite las comprobaciones que crean máquinas virtuales de prueba y solo ejecuta las comprobaciones rápidas. Para habilitar el modo rápido, debes incluir la marca
--fast
.
Puedes omitir validaciones específicas si incluyes otras marcas, que se describen en gkectl check-config --help
.
Tráfico entre la estación de trabajo de administrador y las máquinas virtuales de prueba
En el modo predeterminado, la comprobación previa crea máquinas virtuales de prueba para el clúster. Cada VM de prueba ejecuta un servidor HTTP que escucha en el puerto 443 y en los puertos de nodo que hayas especificado en el archivo de configuración.
Se asignan varias direcciones IP a las VMs de prueba. Si el archivo de configuración indica que los nodos del clúster obtendrán sus direcciones IP de un servidor DHCP, la comprobación previa al vuelo usará un servidor DHCP para asignar direcciones IP a las VMs de prueba. Si el archivo de configuración indica que se asignarán direcciones IP estáticas a los nodos del clúster, la comprobación previa asignará las direcciones IP estáticas que hayas especificado en los archivos de bloque de IP a las máquinas virtuales de prueba.
La comprobación previa, que se ejecuta en la estación de trabajo del administrador, envía solicitudes HTTP a las VMs de prueba mediante las distintas direcciones IP asignadas a las VMs. Las solicitudes se envían al puerto 443 y a los puertos de nodo que hayas especificado en el archivo de configuración.
¿Cuándo debo realizar comprobaciones preparatorias?
Es una práctica recomendada ejecutar comprobaciones previas al vuelo al principio y antes de intentar crear clústeres. Si realizas comprobaciones previas pronto, podrás confirmar que has configurado correctamente tu entorno de vSphere y tu red.
Si utilizas la versión 1.2.0-gke.6, ejecuta gkectl check-config
dos veces:
Ejecuta
gkectl check-config --fast
.Ejecuta
gkectl prepare
.Vuelve a ejecutar
gkectl check-config
sin la marca--fast
.
El motivo por el que se ejecuta dos veces es que gkectl prepare
sube la plantilla de VM de la imagen del SO del nodo del clúster a tu entorno de vSphere. Esa plantilla de VM debe estar en su sitio antes de ejecutar el conjunto completo de validaciones.
En la versión 1.2.1 y posteriores, el comando check-config
sube la plantilla de VM, por lo que puedes ejecutar el conjunto completo de validaciones antes de ejecutar gkectl
prepare
:
Ejecuta
gkectl check-config
sin la marca--fast
.Ejecuta
gkectl prepare
.
Las comprobaciones previas validan los valores que ha proporcionado en el archivo. No es necesario rellenar todos los campos del archivo de configuración para ejecutar comprobaciones previas en el archivo. Puede validar el archivo de forma iterativa a medida que rellena sus campos. Por ejemplo, si solo quieres validar tu configuración de vCenter, puedes rellenar solo los campos vcenter
y ejecutar comprobaciones en ellos.
Ten en cuenta que tu configuración se vuelve inmutable después de crear tus clústeres. Al ejecutar comprobaciones previas, puedes detectar y resolver problemas en tu configuración antes de crear los clústeres.
Conservar la máquina virtual de prueba para depurar
A partir de la versión 1.2.1, el comando gkectl check-config
tiene una marca --cleanup
.
Cuando gkectl check-config
realiza un conjunto completo de validaciones, crea una máquina virtual de prueba y una clave SSH asociada. Si quieres conservar la VM de prueba y la clave SSH para depurar, define --cleanup
como false.
El valor predeterminado de --cleanup
es true.
Lista de comprobaciones preparatorias
Las comprobaciones previas validan cada campo del archivo de configuración. Estas son las comprobaciones actuales:
Categoría | Descripción | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Archivo de configuración | Valida de forma general que cada campo y especificación tenga el formato y los valores esperados. Se ha omitido con la marca Salta la validación del campo |
||||||||||||||||
Internet | Valida el acceso a Internet a los dominios necesarios. Valida la configuración del proxy en función de dónde ejecutes gkectl. Se ha omitido con la marca |
||||||||||||||||
Imagen de SO | Valida que existen imágenes del SO. Se ha omitido con la marca |
||||||||||||||||
Versión del SO Windows | Valida la versión del SO Windows. Valida que la versión de Windows sea compatible al crear estaciones de trabajo de administrador con la herramienta de línea de comandos |
||||||||||||||||
Versión de clúster | Valida que la versión del clúster de administrador, la versión del clúster de usuario y la versión de Se ha omitido con la marca |
||||||||||||||||
Estado del clúster | Valida que el clúster de administrador o de usuario esté en buen estado antes de la actualización:
Se ha omitido con la marca |
||||||||||||||||
Entrada | Comprueba si el clúster de usuarios tiene un objeto Istio Gateway antes de la actualización. | ||||||||||||||||
IP reservada | Valida que haya suficientes direcciones IP disponibles para crear y actualizar. Se ha omitido con la marca |
||||||||||||||||
Google Cloud |
--skip-validation-gcp .
| ||||||||||||||||
Acceso a gcr.io/gke-on-prem-release |
Valida el acceso al registro de imágenes de contenedor alojado en Artifact Registry.
Se ha omitido por la marca |
||||||||||||||||
Registro de Docker |
privateregistryconfig Si se configura, valida el acceso al registro de Docker.
Se ha omitido con la marca |
||||||||||||||||
vCenter | Comprueba que estén presentes todos los campos vcenter y también
comprueba lo siguiente:
Se ha omitido con la marca |
||||||||||||||||
Almacenamiento |
| ||||||||||||||||
Carga de trabajo de CSI |
Valida que el clúster pueda ejecutar correctamente una carga de trabajo que use un PersistentVolume aprovisionado dinámicamente creado mediante el controlador de CSI para vSphere. Esta comprobación se ejecuta durante la actualización y solo si hay volúmenes de vSphere en el árbol y no hay volúmenes de CSI de vSphere. Esta comprobación:
|
||||||||||||||||
Hosts de grupos antiafines | Valida que el número de hosts físicos de vCenter sea al menos tres si
Para inhabilitar Se ha omitido con la marca |
||||||||||||||||
Balanceador de carga | Valida la configuración del balanceo de carga:
--skip-validation-load-balancer .
|
||||||||||||||||
Redes | Valida que los intervalos CIDR, las IPs virtuales y las IPs estáticas proporcionados (si se han configurado) estén disponibles. Comprueba que las direcciones IP no se solapen. Se ha omitido con la marca |
||||||||||||||||
DNS | Valida que el servidor DNS proporcionado esté disponible. Se ha omitido con la marca |
||||||||||||||||
NTP | Valida que el servidor de protocolo de tiempo de red (NTP) proporcionado esté disponible. Se ha omitido con la marca |
||||||||||||||||
IP virtuales | Hace ping a las IPs virtuales proporcionadas. Esta comprobación se realiza correctamente si el ping falla, lo que indica que el VIP esperado aún no se ha usado. Se ha omitido con la marca |
||||||||||||||||
IPs de nodo | Hace ping a las direcciones IP de los nodos proporcionadas. Esta comprobación se realiza correctamente si el ping falla, lo que indica que la IP del nodo esperada aún no se ha usado. Se ha omitido con la marca |
Resultados de la comprobación preparatoria
Las comprobaciones previas pueden devolver los siguientes resultados:
- SE HA REALIZADO CORRECTAMENTE
- El campo y su valor han superado la comprobación.
- ERROR
- El campo o su valor no han superado la comprobación. Si una comprobación devuelve un mensaje
FAILURE
, soluciona los problemas y vuelve a validar el archivo. - SKIPPED
Se ha omitido la comprobación, probablemente porque no es relevante para tu configuración. Por ejemplo, si usas un servidor DHCP, se omiten las comprobaciones de las IPs de DNS y de nodos, que solo son relevantes para una configuración de IP estática.
Si incluyes una marca que omite una validación, la comprobación omitida no devuelve un resultado SKIPPED. En su lugar, la validación no se ejecuta y no aparece en la salida del comando.
- DESCONOCIDO
El salto ha devuelto un código distinto de cero. Puedes considerar que los resultados UNKNOWN son comprobaciones fallidas. UNKNOWN suele indicar que no se ha podido ejecutar alguna comprobación del paquete del sistema, como nslookup o gcloud.
Próximamente
En una próxima versión se añadirán las siguientes comprobaciones previas:
- Servidor NTP
Realizar comprobaciones preparatorias
Para realizar comprobaciones preparatorias, ejecuta el siguiente comando:
gkectl check-config --config [CONFIG]
donde [CONFIG] es la ruta a tu archivo de configuración
Ejecución en modo rápido
Si lo prefieres, puedes ejecutar comprobaciones previas en "modo rápido", que omite las validaciones que crean VMs de prueba temporales, como las validaciones de IP de nodo y VIP de balanceo de carga. Para ello, pasa --fast
:
gkectl check-config --config [CONFIG] --fast
Omitir validaciones específicas
Puedes incluir marcas para omitir de forma granular validaciones específicas, como DNS, proxy y redes. Cada marca de omisión va precedida de --skip-[VALIDATION]
.
Para obtener información sobre las marcas de omisión disponibles, ejecuta el siguiente comando:
gkectl check-config --help
Por ejemplo, para omitir las validaciones del balanceador de carga:
gkectl check-config --config my-config.yaml --skip-validation-load-balancer
Cancelar comprobaciones preparatorias
Si has empezado a ejecutar comprobaciones previas y quieres cancelarlas, pulsa CTRL + C dos veces. Si una comprobación previa ha creado una VM de prueba, al cancelar también se debería limpiar la VM automáticamente.
Eliminar una VM de prueba
Si queda una máquina virtual de prueba después de completar las comprobaciones previas, puedes eliminarla de vCenter. Una VM de prueba tiene un nombre como este:
check-config-[dhcp|static]-[random number]
Para eliminar la VM, sigue estos pasos:
Haz clic con el botón derecho en la máquina virtual y selecciona Encendido > Apagar.
Una vez que la máquina virtual se haya apagado, vuelve a hacer clic con el botón derecho en ella y selecciona Eliminar del disco.
Ejemplo
A continuación, se muestra un ejemplo del resultado del comando. En este ejemplo, la configuración que se está validando usa el modo de balanceo de carga integrado y las IPs estáticas sin un registro de Docker externo:
- Validation Category: Config Check - [SUCCESS] Config - Validation Category: Internet Access - [SUCCESS] Internet access to required domains - Validation Category: GCP - [SUCCESS] GCP Service - [SUCCESS] GCP Service Account - Validation Category: Docker Registry - [SUCCESS] gcr.io/gke-on-prem-release access - Validation Category: vCenter - [SUCCESS] Credentials - [SUCCESS] Version - [SUCCESS] Datacenter - [SUCCESS] Datastore - [SUCCESS] Data Disk - [SUCCESS] Resource Pool - [SUCCESS] Network - [SUCCESS] VSphere CSI Driver - Validation Category: F5 BIG-IP - [SUCCESS] Admin Cluster F5 (credentials, partition and user role) - [SUCCESS] User Cluster F5 (credentials, partition and user role) - Validation Category: Network Configuration - [SUCCESS] CIDR, VIP and static IP (availability and overlapping) - Validation Category: DNS - [SUCCESS] DNS (availability) - Validation Category: VIPs - [SUCCESS] ping (availability) - Validation Category: Node IPs - [SUCCESS] ping (availability) Now running slow validation checks. ... Reusing VM template "gke-on-prem-osimage-xxx" that already exists in vSphere. Creating test VMs with admin cluster configuration... DONE Waiting to get IP addresses from test VMs... DONE Waiting for test VMs to become ready... DONE Reusing VM template "gke-on-prem-osimage-xxx" that already exists in vSphere. Creating test VMs with user cluster configuration... DONE Waiting to get IP addresses from test VMs... DONE Waiting for test VMs to become ready... DONE - Validation Category: F5 BIG-IP - [SUCCESS] Admin Cluster VIP and NodeIP - [SUCCESS] Admin Cluster F5 Access - [SUCCESS] User Cluster VIP and NodeIP - [SUCCESS] User Cluster F5 Access - Validation Category: Internet Access - [SUCCESS] Internet access to required domains - Validation Category: vCenter on test VMs - [SUCCESS] Test VM: VCenter Access and Permission - Validation Category: DNS on test VMs - [SUCCESS] Test VM: DNS Availability - Validation Category: TOD on test VMs - [SUCCESS] Test VM: TOD Availability - Validation Category: Docker Registry - [SUCCESS] gcr.io/gke-on-prem-release access Deleting test VMs with admin cluster configuration... DONE Deleting test VMs with user cluster configuration... DONE
Problemas conocidos
En la versión 1.3.0-gke.16:
Debes realizar comprobaciones de validación rápidas,
gkectl check-config --fast
, para tus comprobaciones preparatorias si se dan las dos condiciones siguientes:Has configurado Google Distributed Cloud para que use un proxy.
Has instalado uno de los siguientes paquetes:
- El
/var/lib/gke/bundles/gke-onprem-vsphere-1.3.0-gke.16.tgz
paquete de la página Descargas. - El
/var/lib/gke/bundles/gke-onprem-vsphere-1.3.0-gke.16.tgz
paquete de la estación de trabajo de administrador.
- El
Solo puedes ejecutar el conjunto completo de validación si has instalado el paquete completo. Por ejemplo:
/var/lib/gke/bundles/gke-onprem-vsphere-1.3.0-gke.16-full.tgz
En la versión 1.2.0-gke.6:
Si usas grupos de recursos anidados o el grupo de recursos predeterminado,
gkectl check-config
falla cuando intentas hacer un conjunto completo de validaciones. Sin embargo, puedes hacer un conjunto más pequeño de validaciones pasando la marca--fast
.gkectl check-config --config [CONFIG] --fast