Estás viendo la documentación de una versión anterior de GKE On-Prem. Consulta la documentación más reciente.

Ejecuta comprobaciones previas

En este tema, se explica cómo ejecutar verificaciones previas en tu archivo de configuración de GKE local.

Resumen

Durante la instalación, ejecutarás gkectl create-config para generar un archivo de configuración GKE On-prem. 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.

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.

¿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 la versión 1.2.0-gke.6 de GKE On-Prem, ejecuta gkectl check-config dos veces:

  1. Ejecuta gkectl check-config --fast.

  2. Ejecuta gkectl prepare.

  3. 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 la versión 1.2.1 de GKE On-Prem 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:

  1. Ejecuta gkectl check-config, sin la marca --fast.

  2. 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 On-Prem se vuelve inmutable después de crear 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 On-Prem, 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 --skip-validation-config.

Omite la validación del campo proxy con la marca --skip-validation-proxy.

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 --skip-validation-internet.

Google Cloud
ID del proyecto
[*].projectid
Valida los ID del proyecto que se proporcionan a varios campos en la configuración. Si falta el ID del proyecto, se omite la validación.
Cuenta de servicio de registro
registerserviceaccountkeypath
Valida que la cuenta de servicio tenga las funciones de IAM necesarias. Valida que las API requeridas estén habilitadas.
Cuenta de servicio de conexión
agentserviceaccountkeypath
Valida que la cuenta de servicio tenga las funciones de IAM necesarias. Valida que las API requeridas estén habilitadas.
Cuenta de servicio de Google Cloud's operations suite
stackdriver.serviceaccountkeypath
Valida que la cuenta de servicio tenga las funciones de IAM necesarias. Valida que las API requeridas estén habilitadas.
Se omite con la marca --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-Prem alojado en Container Registry.

Se omite con la marca --skip-validation-docker.

Registro de Docker
privateregistryconfig
Si se configura, valida el acceso al registro de Docker.

Se omite con la marca --skip-validation-docker.

vCenter Comprueba que todos los campos vcenter estén presentes y también verifica lo siguiente:
Credenciales
vcenter.credentials.[*]
Valida la autenticación en vCenter Server mediante las credenciales de usuario proporcionadas.
Versión de vSphere Valida que vSphere esté en la versión 6.5 o en la versión 6.7 actualización 3.
Centro de datos
vcenter.datacenter
Valida la existencia del centro de datos de vSphere.
Almacén de datos
vcenter.datastore
Valida la existencia del almacén de datos de vSphere.
Disco de datos
vcenter.datadisk
Valida que el disco de máquina virtual (VMDK) de vSphere no exista en vSphere.
Grupo de recursos
vcenter.resourcepool
Valida la existencia del grupo de recursos de vSphere.
Red
vcenter.network
Valida la existencia de la red de vSphere.

Se omite con la marca --skip-validation-infra.

Balanceador de cargas

Valida la configuración del balanceo de cargas:

  • Si el modo de balanceo de cargas es integrado (lbmode: Integrated), valida que todos los campos bigip estén presentes en las especificaciones admincluster y usercluster.
  • Si el modo de balanceo de cargas es manual (lbmode: Manual), valida que todos los campos manuallbspec estén presentes en las especificaciones admincluster y usercluster.
Balanceo de cargas integrado
bigip.credentials.[*] Valida las credenciales de BIG-IP de F5.
bigip.partition Valida que la partición proporcionada exista.
Función del usuario de BIG-IP de F5 Valida que el usuario de BIG-IP de F5 proporcionado contenga la función de administrador o administrador de recursos.
bigip.vips.[*] Valida las VIP proporcionadas.

Se omite con las marcas --fast o --skip-validation-load-balancer.

Balanceo de cargas manual
Configuración de redes Valida las IP de los nodos, las VIP, etcétera.

Se omite con las marcas --fast o --skip-validation-load-balancer.

[*].manuallbspec.[*] Valida los puertos de nodos proporcionados.
Se omite con la marca --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 --skip-validation-net-config.

DNS

Valida que el servidor DNS proporcionado esté disponible.

Se omite con la marca --skip-validation-dns.

NTP

Valida que el servidor del protocolo NTP proporcionado esté disponible.

Se omite con la marca --skip-validation-tod.

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 --skip-validation-vips.

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 --skip-validation-node-ips.

Resultados de las comprobaciones previas

Las comprobaciones previas pueden mostrar los siguientes resultados:

SUCCESS
El campo y su valor aprobaron la comprobació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 del archivo de configuración de GKE On-Prem.

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:

  1. Haz clic con el botón derecho en la VM y, luego, en Power > Power Off.

  2. 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 comportamiento 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:

gkectl check-config --config config.yaml
- 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

- 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 (creates test VM); use flag --fast to disable.
- Validation Category: F5 BIG-IP
    - [SUCCESS] Admin Cluster VIP and NodeIP
    - [SUCCESS] User Cluster VIP and NodeIP

All validation results were SUCCESS.

Problema conocido

En la versión 1.2.0-gke.6 de GKE On-Prem, si usas grupos de recursos anidados o el grupo de recursos predeterminado, gkectl check-config fallará cuando intentes 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

Este problema se solucionará en la versión 1.2.1.

Qué sigue