En esta página, se explica cómo ejecutar comprobaciones preliminares en tu archivo de configuración de GKE en VMware.
Descripción general
Durante la instalación, ejecuta gkectl create-config
para generar un archivo de configuración de GKE en VMware. El archivo de configuración controla la instalación: debes proporcionar información sobre el entorno de vSphere, la red y el balanceador de cargas, y cómo deseas que se vean los clústeres. Puedes generar un archivo de configuración antes o después de crear una estación de trabajo de administrador. Para que ciertas comprobaciones se aprueben, deben ejecutarse desde la estación de trabajo de administrador.
Una vez que modificaste el archivo a fin de satisfacer las necesidades del entorno y los clústeres, usa el archivo para crear los clústeres en el entorno local.
Antes de crear clústeres, ejecuta gkectl check-config
para validar el archivo de configuración con varias comprobaciones previas.
Si el comando muestra algún mensaje de FAILURE
, soluciona los problemas y vuelve a validar el archivo. Si cierta validación de una función muestra algún mensaje de ADVERTENCIA, debes corregir los problemas subyacentes antes de usar esta característica.
Modos de comprobaciones previas y omisión de validaciones
gkectl check-config
tiene un modo predeterminado y un modo rápido:
En el modo predeterminado, el comando valida por completo cada campo. Además, el modo predeterminado crea máquinas virtuales (VM) temporales de vSphere como parte de su validación, lo que puede llevar más tiempo.
En el modo rápido, el comando omite las comprobaciones que crean VM de prueba y ejecuta solo las comprobaciones rápidas. Para habilitar el modo rápido, pasa la marca
--fast
.
Puedes omitir validaciones específicas si pasas otras marcas, que se describen en gkectl check-config --help
.
Tráfico entre la estación de trabajo de administrador y las VM de prueba
En el modo predeterminado, la verificación de comprobación previa crea VM 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 especificaste en el archivo de configuración.
Se asignan varias direcciones IP a las VM de prueba. Si el archivo de configuración indica que los nodos del clúster obtendrán las direcciones IP de un servidor DHCP, la comprobación previa usa un servidor DHCP para asignar direcciones IP a las VM de prueba. Si el archivo de configuración indica que a los nodos del clúster se les asignarán direcciones IP estáticas, la comprobación previa asignará las direcciones IP estáticas que especificaste en los archivos de bloque de IP a las VM de prueba.
La comprobación previa, que se ejecuta en la estación de trabajo de administrador, envía solicitudes HTTP a las VM de prueba con las distintas direcciones IP asignadas a las VM. Las solicitudes se envían al puerto 443 y a los puertos de nodo que especificaste en el archivo de configuración.
¿Cuándo debo ejecutar comprobaciones previas?
Se recomienda ejecutar comprobaciones previas antes de intentar crear clústeres. Ejecutar las comprobaciones previas con anticipación puede ayudarte a confirmar si configuraste el entorno de vSphere y la red de manera correcta.
Si usas GKE en VMware 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
.
La razón por la que se ejecuta dos veces es que gkectl prepare
sube la plantilla de VM para la imagen de SO del nodo del clúster al entorno de vSphere. Se debe implementar la plantilla de VM antes de ejecutar el conjunto completo de validaciones.
En GKE on VMware versión 1.2.1 y posteriores, el comando check-config
sube la plantilla de VM para que puedas 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 proporcionaste al archivo. No es necesario que llenes todos los campos del archivo de configuración para ejecutar comprobaciones previas en el archivo. Puedes validar el archivo de forma iterativa a medida que propagas los campos. Por ejemplo, si solo deseas validar la configuración de vCenter, puedes completar solo los campos vcenter
y ejecutar comprobaciones.
Ten en cuenta que la configuración de GKE en VMware se vuelve inmutable después de que creas los clústeres. La ejecución de las comprobaciones previas te ayuda a descubrir y resolver problemas en la configuración antes de crear los clústeres.
Preserva la VM de prueba para la depuración
A partir de la versión 1.2.1 de GKE en VMware, el comando gkectl check-config
tiene una marca --cleanup
.
Cuando gkectl check-config
realiza un conjunto completo de validaciones, crea una VM de prueba y una clave SSH asociada. Si deseas conservar la VM de prueba y la clave SSH para fines de depuración, configura --cleanup
como falso.
El valor predeterminado de --cleanup
es verdadero.
Lista de comprobaciones previas
Las comprobaciones previas validan cada campo en el archivo de configuración. Estas son las comprobaciones actuales:
Categoría | Descripción | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Archivo de configuración | Por lo general, valida que cada campo y especificación tenga el formato y los valores esperados. Se omitió con la marca Omite la validación del campo | ||||||||||||||||
Internet | Valida el acceso a Internet a los dominios obligatorios. Valida la configuración del proxy según dónde ejecutas gkectl. Se omite con la marca |
||||||||||||||||
Imagen de SO | Valida que existan imágenes de SO. Se omite con la marca |
||||||||||||||||
Versión del SO de Windows | Valida la versión del SO Windows. Valida que la versión de Windows sea compatible cuando se crean estaciones de trabajo de administrador con la herramienta de línea de comandos de |
||||||||||||||||
Versión del 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 omite con la marca |
||||||||||||||||
Estado del clúster | Valida que el administrador o el clúster de usuario esté en buen estado antes de la actualización:
Se omite con la marca |
||||||||||||||||
Entrada | Comprueba si el clúster de usuario tiene un objeto de puerta de enlace de Istio antes de la actualización. | ||||||||||||||||
IP reservada | Valida que haya suficientes direcciones IP disponibles para la creación y actualización. Se omite con la marca |
||||||||||||||||
Google Cloud |
--skip-validation-gcp .
| ||||||||||||||||
Acceso al acceso gcr.io/gke-on-prem-release |
Valida el acceso al registro de imágenes de contenedor de GKE on VMware alojado en Container Registry.
Se omite con la marca |
||||||||||||||||
Registro de Docker |
privateregistryconfig Si se configura, valida el acceso al registro de Docker.
Se omite con la marca |
||||||||||||||||
vCenter | Comprueba que todos los campos vcenter estén presentes y también verifica lo siguiente:
Se omite con la marca |
||||||||||||||||
Almacenamiento |
| ||||||||||||||||
Carga de trabajo de CSI |
Valida que el clúster pueda ejecutar de forma correcta una carga de trabajo que use un PersistentVolume aprovisionado de forma dinámica y que se haya creado a través del controlador de CSI de vSphere. Esta verificación se ejecuta durante la actualización y solo si hay volúmenes de vSphere en un árbol y no Volumes CSI de vSphere. Esta verificación:
|
||||||||||||||||
Hosts para grupos antiafinidad | Valida que la cantidad de hosts de vCenter físicos sea de al menos tres si
Para inhabilitar Se omite con la marca |
||||||||||||||||
Balanceador de cargas | Valida la configuración del balanceo de cargas:
--skip-validation-load-balancer .
|
||||||||||||||||
Redes | Valida que los rangos CIDR, las IP estáticas y las VIP proporcionados (si están configurados) estén disponibles. Comprueba que las direcciones IP no se superpongan. Se omite con la marca |
||||||||||||||||
DNS | Valida que el servidor DNS proporcionado esté disponible. Se omite con la marca |
||||||||||||||||
NTP | Valida que el servidor del protocolo NTP proporcionado esté disponible. Se omite con la marca |
||||||||||||||||
VIP | Hace ping a las VIP proporcionadas. Esta comprobación es exitosa si el ping falla, lo que indica que la VIP ya no está en uso. Se omite con la marca |
||||||||||||||||
IP de nodo | Hace ping a las direcciones IP de nodo proporcionadas. Esta comprobación es exitosa si el ping falla, lo que indica que la IP del nodo ya no está en uso. Se omite con la marca |
Resultados de las comprobaciones previas
Las comprobaciones previas pueden mostrar los siguientes resultados:
- SUCCESS
- El campo y su valor aprobaron la verificación.
- FAILURE
- El campo o su valor no aprobaron la comprobación. Si una comprobación muestra un mensaje
FAILURE
, corrige los problemas y vuelve a validar el archivo. - SKIPPED
Se omitió la comprobación, probablemente porque la comprobación no es relevante para la configuración. Por ejemplo, si usas un servidor DHCP, se omiten las comprobaciones de DNS y de IP de nodo, que solo son relevantes para una configuración de IP estática.
Si pasas una marca que omite una validación, la comprobación que se omite no muestra el resultado SKIPPED. La validación no se ejecuta y no aparece en el resultado del comando.
- UNKNOWN
La omisión mostró un código distinto de cero. Puedes considerar que los resultados UNKNOWN son comprobaciones fallidas. Por lo general, UNKNOWN indica que la comprobación no pudo ejecutar algún paquete del sistema, como nslookup o gcloud.
Próximamente
Las siguientes comprobaciones previas se agregarán en una versión futura:
- Servidor NTP
Ejecuta comprobaciones previas
Para ejecutar las comprobaciones previas, ejecuta el siguiente comando:
gkectl check-config --config [CONFIG]
En el ejemplo anterior, [CONFIG] es la ruta de acceso al archivo de configuración de GKE on VMware.
Ejecuta en modo rápido
Si lo prefieres, puedes ejecutar comprobaciones previas en “modo rápido”, que omite las validaciones que crean las VM de prueba temporales, como las validaciones de IP de nodo y VIP del balanceo de cargas. Para hacerlo, pasa --fast
:
gkectl check-config --config [CONFIG] --fast
Omite validaciones específicas
Puedes pasar marcas para omitir validaciones detalladas, como DNS, proxy y redes. Cada marca de omisión tiene el prefijo --skip-[VALIDATION]
.
Para obtener información sobre las marcas de omisión disponibles, ejecuta el siguiente comando. De forma opcional, consulta la referencia de gkectl check-config:
gkectl check-config --help
Por ejemplo, para omitir las validaciones del balanceador de cargas, haz lo siguiente:
gkectl check-config --config my-config.yaml --skip-validation-load-balancer
Cancela comprobaciones previas
Si comenzaste a ejecutar comprobaciones previas y deseas cancelarlas, presiona CTRL + C dos veces. Si una comprobación previa creó una VM de prueba, la cancelación también debería quitar la VM de forma automática.
Quita una VM de prueba
Si queda una VM de prueba después de que se completan las comprobaciones previas, puedes borrar la VM de vCenter. Una VM de prueba tiene un nombre como el siguiente:
check-config-[dhcp|static]-[random number]
Para borrar la VM, haz lo siguiente:
Haz clic con el botón derecho en la VM y, luego, en Power > Power Off.
Una vez que la VM se haya apagado, haz clic con el botón derecho en la VM y selecciona Delete from disk.
Ejemplo
A continuación, se muestra un ejemplo del resultado del comando. En este ejemplo, la configuración que se valida usa el modo de balanceo de cargas integrado y las direcciones IP 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
Para la versión 1.3.0-gke.16, considera lo siguiente:
Debes ejecutar comprobaciones de validación rápidas,
gkectl check-config --fast
, para las comprobaciones previas si se aplican las siguientes condiciones:Configuraste GKE en VMware para usar un proxy.
Instalaste uno de los siguientes paquetes:
- El paquete
/var/lib/gke/bundles/gke-onprem-vsphere-1.3.0-gke.16.tgz
de la página de descargas. - El paquete
/var/lib/gke/bundles/gke-onprem-vsphere-1.3.0-gke.16.tgz
de la estación de trabajo de administrador
- El paquete
Puedes ejecutar el conjunto completo de validación solo si instalaste el paquete completo. Por ejemplo:
/var/lib/gke/bundles/gke-onprem-vsphere-1.3.0-gke.16-full.tgz
Para la versión 1.2.0-gke.6, haz lo siguiente:
Si usas grupos de recursos anidados o el grupo de recursos predeterminado,
gkectl check-config
falla cuando intentas realizar un conjunto completo de validaciones. Sin embargo, puedes hacer un conjunto de validaciones más pequeño si pasas la marca--fast
.gkectl check-config --config [CONFIG] --fast