Crea un clúster de usuario

En esta página, se muestra cómo crear un clúster de usuario.

Genera un archivo de configuración

Para crear un clúster de usuario, necesitas un archivo de configuración de clúster de usuario. Si usaste gkeadm a fin de crear tu estación de trabajo de administrador, gkeadm generó una plantilla para el archivo de configuración y completó algunos campos.

Si no usaste gkeadm para crear tu estación de trabajo de administrador, puedes generar una plantilla si ejecutas el siguiente comando:

gkectl create-config cluster --config [OUTPUT_PATH]

En el ejemplo anterior, [OUTPUT_PATH] es la ruta que elijas para la plantilla generada. Si no incluyes la marca --config, gkectl nombra le asigna el nombre user-cluster.yaml al archivo y lo coloca en el directorio actual.

Completa el archivo de configuración

name

Configura el campo name con el nombre que desees para el clúster de usuarios.

gkeOnPremVersion

Configura el campo gkeOnPremVersion.

vCenter

Los valores que estableces en la sección vCenter del archivo de configuración del clúster de administrador son globales. Es decir, se aplican a tu clúster de administrador y a tus clústeres de usuario.

Para cada clúster de usuario que crees, tienes la opción de anular algunos de los valores de vCenter globales.

Si deseas anular cualquiera de los valores de vCenter globales, completa los campos relevantes en la sección vCenter del archivo de configuración de tu clúster de usuario.

network

Configura network.ipMode.type con el mismo valor que estableciste en tu archivo de configuración del clúster de administrador: "dhcp" o "static".

Si configuras ipMode.type como "static", crea un archivo de configuración de host que proporcione las direcciones IP estáticas para los nodos de tu clúster de usuario. Establece network.ipBlockFilePath en la ruta de acceso del archivo de configuración de host.

Proporciona valores para los campos restantes en la sección network.

loadBalancer

Reserva una VIP para el servidor de la API de Kubernetes del clúster de usuario. Dedica otro VIP para el servicio de entrada de tu clúster de usuario. Proporciona tus VIP como valores para loadBalancer.controlPlaneVIP y loadBalancer.ingressVIP.

Configura loadBalancer.kind con el mismo valor que estableciste en tu archivo de configuración de clúster de administrador: "ManualLB", "F5BigIP" o "Seesaw". Luego, completa la sección correspondiente: manualLB, f5BigIP o seesaw.

proxy

Si la red que tendrá los nodos de clúster de usuario está detrás de un servidor proxy, completa la sección proxy.

masterNode

Completa la sección masterNode.

nodePools

Completa la sección nodePools.

authentication

Si deseas usar OpenID Connect (OIDC) para autenticar usuarios, completa la sección authentication.oidc.

Si deseas proporcionar un certificado de entrega adicional para el servidor vCenter de tu clúster de usuario, completa la sección authentication.sni.

stackdriver

Completa la sección stackdriver.

gkeConnect

Completa la sección gkeConnect.

cloudRun

Establece cloudRun.enabled en true o false.

Valida tu archivo de configuración

Una vez que hayas completado el archivo de configuración de tu clúster de administrador, ejecuta gkectl check-config para verificar que el archivo sea válido:

gkectl check-config --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] --config [CONFIG_PATH]

En el ejemplo anterior, se ilustra lo siguiente:

  • [ADMIN_CLUSTER_KUBECONFIG] es la ruta de acceso del archivo kubeconfig del clúster de administrador.

  • [CONFIG_PATH] es la ruta del archivo de configuración de tu clúster de usuario.

Si el comando muestra algún mensaje de error, soluciona los problemas y vuelve a validar el archivo.

Si deseas omitir las validaciones que llevan más tiempo, pasa la marca --fast. Para omitir validaciones individuales, usa las marcas --skip-validation-xxx. Para obtener más información sobre el comando check-config, consulta Ejecuta verificaciones previas.

Crea el clúster de usuario

Crea el clúster de usuario:

gkectl create cluster --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] \
  --config [CONFIG_PATH] --skip-validation-all

donde

  • [CONFIG_PATH] es la ruta del archivo de configuración de tu clúster de usuario.

  • [ADMIN_CLUSTER_KUBECONFIG] es la ruta de acceso del archivo kubeconfig del clúster de administrador.

El comando gkectl create cluster crea un archivo kubeconfig llamado [USER_CLUSTER_NAME]-kubeconfig en el directorio actual. Necesitarás este archivo kubeconfig más adelante para interactuar con tu clúster de usuario.

No uses la marca --skip-validation-all si no validaste el archivo de configuración con anterioridad.

Verifica que el clúster de usuario esté en ejecución

Verifica que el clúster de usuario esté en ejecución:

kubectl get nodes --kubeconfig [USER_CLUSTER_KUBECONFIG]

En el ejemplo anterior, [USER_CLUSTER_KUBECONFIG] es la ruta de tu archivo kubeconfig.

En el resultado, se muestran los nodos del clúster de usuario.

Solución de problemas

Diagnostica problemas de clústeres mediante gkectl

Usa los comandos gkectl diagnose para identificar los problemas de clústeres y compartir la información de un clúster con Google. Consulta Diagnostica problemas de clústeres.

Comportamiento de registro predeterminado

Para gkectl y gkeadm, basta con usar la configuración de registro predeterminada:

  • De forma predeterminada, las entradas de registro se guardan de la siguiente manera:

    • Para gkectl, el archivo de registro predeterminado es /home/ubuntu/.config/gke-on-prem/logs/gkectl-$(date).log, y el archivo está vinculado con un symlink con el archivo logs/gkectl-$(date).log en el directorio local donde ejecutas gkectl.
    • Para gkeadm, el archivo de registro predeterminado es logs/gkeadm-$(date).log en el directorio local en el que ejecutas gkeadm.
  • Todas las entradas de registro se guardan en el archivo de registro, incluso si no se imprimen en la terminal (cuando --alsologtostderr es false).
  • El nivel de verbosidad -v5 (predeterminado) cubre todas las entradas de registro que necesita el equipo de asistencia al cliente.
  • El archivo de registro también contiene el comando ejecutado y el mensaje de error.

Recomendamos que envíes el archivo de registro al equipo de asistencia al cliente cuando necesites ayuda.

Especifica una ubicación no predeterminada para el archivo de registro

A fin de especificar una ubicación no predeterminada para el archivo de registro gkectl, usa la marca --log_file. El archivo de registro que especifiques no se vinculará con un symlink con el directorio local.

A fin de especificar una ubicación no predeterminada para el archivo de registro gkeadm, usa la marca --log_file.

Ubica los registros de la API de clúster en el clúster de administrador

Si una VM no se inicia después de que se inicia el plano de control de administrador, puedes intentar depurarla mediante la inspección de los registros de los controladores de la API de clúster en el clúster de administrador:

  1. Encuentra el nombre del Pod de controladores de la API de clúster en el espacio de nombres kube-system, en el que [ADMIN_CLUSTER_KUBECONFIG] es la ruta de acceso al archivo kubeconfig del clúster de administrador:

    kubectl --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] -n kube-system get pods | grep clusterapi-controllers
  2. Abre los registros del Pod, en los que [POD_NAME] es el nombre del Pod. De manera opcional, usa grep o una herramienta similar para buscar errores:

    kubectl --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] -n kube-system logs [POD_NAME] vsphere-controller-manager

Depura los problemas de BIG-IP de F5 mediante el kubeconfig del nodo del plano de control del clúster de administrador

Después de una instalación, GKE On-Prem genera un archivo kubeconfig llamado internal-cluster-kubeconfig-debug en el directorio principal de la estación de trabajo de administrador. Este archivo kubeconfig es idéntico al kubeconfig de tu clúster de administrador, excepto que apunta directamente al nodo del plano de control del clúster de administrador, en el que se ejecuta el plano de control de administrador. Puedes usar el archivo internal-cluster-kubeconfig-debug para depurar los problemas de BIG-IP de F5.

La validación de gkectl check-config falla: No se pueden encontrar las particiones de BIG-IP de F5

Síntomas

La validación falla porque las particiones de BIG-IP de F5 no se pueden encontrar, aunque existen.

Causas posibles

Un problema con la API de BIG-IP de F5 puede causar que la validación falle.

Solución

Vuelve a ejecutar gkectl check-config.

gkectl prepare --validate-attestations falla: No se puede validar la certificación de la compilación

Síntomas

La ejecución de gkectl prepare con la marca opcional --validate-attestations muestra el siguiente error:

could not validate build attestation for gcr.io/gke-on-prem-release/.../...: VIOLATES_POLICY
Causas posibles

Es posible que no exista una certificación para las imágenes afectadas.

Solución

Vuelve a descargar y a implementar el OVA de la estación de trabajo de administrador, como se indica en Crea una estación de trabajo de administrador. Si el problema persiste, comunícate con Google para obtener asistencia.

Depura mediante los registros del clúster de arranque

Durante la instalación, GKE On-Prem crea un clúster de arranque temporal. Después de una instalación exitosa, GKE On-Prem borra el clúster de arranque, por lo que solo tienes el clúster de administrador y el de usuario. Por lo general, no deberías tener ningún motivo para interactuar con este clúster.

Si algo sale mal durante una instalación y pasaste --cleanup-external-cluster=false a gkectl create cluster, es posible que te resulte útil depurar mediante los registros del clúster de arranque. Puedes buscar el Pod y, luego, obtener sus registros:

kubectl --kubeconfig /home/ubuntu/.kube/kind-config-gkectl get pods -n kube-system
kubectl --kubeconfig /home/ubuntu/.kube/kind-config-gkectl -n kube-system get logs [POD_NAME]

Para obtener más información, consulta Soluciona problemas.