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 --config [CONFIG_PATH] --skip-validation-all

En el ejemplo anterior, [CONFIG_PATH] es la ruta del archivo de configuración de tu clúster de usuario.

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.

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.

Ejecuta comandos de gkectl de forma detallada

-v5

Registra errores de gkectl en stderr

--alsologtostderr

Ubica los registros de gkectl en la estación de trabajo de administrador

Incluso si no pasas las marcas de depuración, puedes ver los registros de gkectl en el siguiente directorio de la estación de trabajo de administrador:

/home/ubuntu/.config/gke-on-prem/logs

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.