Contenido del curso

Crea tu primer clúster en Google Kubernetes Engine

Resumen

Configurar un clúster en Google Kubernetes Engine (GKE) te permite trabajar con uno de los proveedores cloud más actualizados del ecosistema Kubernetes. Aquí aprenderás a desplegar tu primer clúster desde la terminal usando el SDK de GCP, ideal si vienes de practicar en local con Minikube y quieres dar el salto a la nube.

Por qué elegir GKE como proveedor de Kubernetes en la nube

Cada proveedor cloud es como una orquesta con su propio ritmo, instrumentos y velocidad. GKE destaca por una razón histórica y técnica: Kubernetes nació como una iniciativa de Google, y eso se refleja en su servicio gestionado.

Entre sus ventajas concretas están:

  • Disponibilidad inmediata de las últimas versiones de Kubernetes (a la fecha de la clase, la 1.32.2).
  • Soporte temprano para APIs avanzadas que la comunidad va liberando.
  • Integración nativa con servicios de GCP como storage classes, redes y observabilidad.

¿Qué es Google Kubernetes Engine? Es el servicio gestionado de Kubernetes dentro de Google Cloud Platform que te permite crear, escalar y operar clústeres sin administrar tú mismo el control plane.

Qué necesitas antes de crear tu primer clúster en GKE

Antes de tocar la terminal, asegúrate de tener una cuenta activa en GCP, un proyecto creado y la facturación habilitada. Si eres nuevo, Google te ofrece créditos a través del free trial, suficientes para hacer pruebas y debugging con Kubernetes.

Luego, instala y configura el Google Cloud SDK [01:30]. La instalación se realiza ejecutando el script install.sh que viene con el paquete descargado. Una vez instalado, autentícate con:

bash gcloud auth login

Este comando abre tu navegador, te pide seleccionar la cuenta de Google y otorgar permisos. Al finalizar, tu terminal mostrará el correo activo y el proyecto seleccionado, en este caso k8s-course-GKE.

Cómo habilitar las APIs necesarias en GCP

GKE no funciona sin dos APIs activas. El primer paso es habilitarlas desde la terminal [02:30]:

bash gcloud services enable container.googleapis.com gcloud services enable compute.googleapis.com

La primera activa el API de Kubernetes Engine y puede tardar cerca de un minuto. La segunda activa Google Compute Engine, que es mucho más rápida. Ambas son requisito obligatorio para aprovisionar nodos.

Cómo se crea un clúster de GKE desde la terminal

A diferencia de Minikube, donde típicamente trabajas con un solo nodo, GKE te permite definir cuántos nodos quieres desde el inicio. El comando para crear el clúster es [03:50]:

bash gcloud container clusters create k8s-course-demo --num-nodes=2

Esto inicia la comunicación con el servicio de Kubernetes Engine y comienza a aprovisionar los recursos. El proceso puede tardar entre 15 y 20 minutos. Mientras esperas, puedes entrar a la consola web de GCP, ir a la sección Kubernetes Engine y ver el progreso en tiempo real con un porcentaje de avance.

¿Cuánto tarda crear un clúster en GKE? Entre 15 y 20 minutos en promedio. El proceso incluye desplegar el control plane, configurar los nodos y ejecutar health checks de validación.

Qué configuraciones trae tu clúster por defecto

Dentro de la consola, al hacer clic en el nombre del clúster, encuentras toda la información descriptiva: nombre, tier, modo, zona, versión de Kubernetes, actualizaciones automáticas y configuraciones de networking del control plane.

Entre los recursos más relevantes están:

  • Public endpoint: una IP pública para acceder al clúster desde fuera.
  • IPs privadas: para comunicación interna entre servicios de GCP.
  • Node pools: agrupaciones de nodos, en este caso de tipo E2 medium optimizados para contenedores.
  • Storage classes: clases de almacenamiento que reservan espacio en la nube sin ocupar memoria local.
  • Observabilidad: métricas agrupadas por namespace, nodos y pods.

Cómo conectar kubectl con tu clúster en la nube

Cuando termina la creación, la terminal te muestra una acción crítica requerida: instalar un plugin de autenticación para que kubectl pueda comunicarse con el clúster remoto [08:40]. El comando es:

bash gcloud components install gke-gcloud-auth-plugin

GCP genera automáticamente un archivo kubeconfig en tu configuración local. Para verificar que el contexto está activo, ejecuta:

bash kubectl config get-contexts

El contexto de GKE aparecerá marcado con un asterisco. A partir de aquí ya puedes usar comandos habituales como kubectl get nodes para listar los dos nodos aprovisionados, o kubectl get pods -n kube-system para inspeccionar el control plane.

Qué componentes instala GKE en kube-system

Al revisar el namespace kube-system, vas a encontrar las particularidades que diferencian a GKE de otros proveedores [10:20]:

  • Fluent Bit para gestión de logs.
  • Métricas de Google Kubernetes Engine integradas.
  • Container Storage Interface (CSI) para volúmenes persistentes.
  • Metrics Server, el mismo que usaste en local.
  • kube-proxy, kube-dns y otros componentes base de la arquitectura.

¿Puedo elegir la versión de Kubernetes en GKE? Sí. Por defecto se instala la última versión disponible, pero puedes pasar un parámetro al comando create indicando la versión específica que necesitas.

Cómo eliminar el clúster cuando termines de probar

Un clúster de pruebas consume créditos rápidamente, así que conviene eliminarlo apenas termines tus experimentos. Puedes crear namespaces personalizados para tus pruebas, por ejemplo uno llamado platzi, y luego destruir todo el clúster con un comando de gcloud container clusters delete.

La elección entre GKE, AKS o EKS depende de tu caso de uso, presupuesto y familiaridad con cada cloud. Probar varios proveedores es la mejor forma de decidir cuál se ajusta a tu proyecto.

¿Ya creaste tu primer clúster en GKE? Cuéntanos en los comentarios qué proveedor de Kubernetes en la nube prefieres y por qué.