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