Configuración de GitLab Auto DevOps con Kubernetes en Google Cloud
Clase 31 de 53 • Curso de DevOps con GitLab
Resumen
Implementar GitLab Auto DevOps con Kubernetes en Google Cloud puede ser rápido y claro si sigues un flujo ordenado: crea un proyecto con template de No JS, conecta un clúster con RBAC, instala Helm Tiller, Ingress, Cert Manager y Prometheus, y reserva una IP estática desde VPC. En minutos tendrás un entorno listo para desplegar.
¿Cómo iniciar un proyecto con Auto DevOps en GitLab?
Para activar Auto DevOps, primero necesitas un proyecto base. Crea uno nuevo y selecciona un template de No JS. Asigna un nombre, por ejemplo: “Platzi Auto DevOps”. Si no aparece de inmediato tras crearlo, refresca la página.
- Haz el proyecto público para obtener funcionalidades gratuitas.
- Antes de habilitar Auto DevOps, añade un clúster de Kubernetes.
- Ruta de navegación: Operations → Kubernetes → Add cluster.
Aquí lo importante es que el proyecto quede listo y público, y que el clúster se agregue desde el lugar correcto para que GitLab tome el control del pipeline.
¿Dónde y cómo agregar el clúster?
Puedes crear un clúster desde Google Cloud o integrar uno existente. GitLab soporta Google Container Engine y la integración con otros proveedores como Amazon o Azure.
- Inicia sesión en console.cloud.google.com. Si es tu primera vez, obtienes 300 dólares de crédito.
- Asigna un nombre al clúster, por ejemplo: “Auto DevOps Platzi”.
- Deja el Environment Scope en “*” para usar el mismo clúster en todos los ambientes. Mejora futura: un clúster por ambiente para aislar producción.
¿Cómo configurar el clúster de Kubernetes en Google Cloud?
Selecciona tu proyecto de Google Cloud y define la zona (por ejemplo, en Estados Unidos). Ajusta el tamaño según tu necesidad actual y costos.
- Número de nodos: usa 2 como mínimo recomendado. Puedes escalar después.
- Recuerda: Kubernetes abstrae servidores en nodos; puedes crecer o reducir.
- Machine type: utiliza “N1 estándar 2” o tipos de alta memoria/CPU según tus requisitos.
- Evita “F1 micro”: Kubernetes no corre bien en instancias tan pequeñas.
- Activa RBAC (role based access control) para la autenticación moderna con Kubernetes.
Tras la creación, verás el estado del clúster. En el ejemplo: 2 nodos, 4 cores totales para distribuir entre pods y 15 GB de memoria, suficiente para avanzar.
¿Qué paquetes instalar para habilitar Auto DevOps?
Con el clúster listo, instala los servicios base que GitLab usa para exponer, asegurar y monitorear tus despliegues.
¿Para qué sirve Helm Tiller en Kubernetes?
Instala Helm Tiller, el manejador de paquetes de Kubernetes, como un “NPM del clúster”. En Kubernetes, los paquetes se llaman charts. Si ya dominas Kubernetes, puedes agregar tus charts y GitLab se encargará de instalarlos.
¿Por qué necesitas Ingress y Cert Manager?
- Ingress: actúa como load balancer dentro de Kubernetes. Te dará una IP pública para conectar GitLab con el clúster.
- Cert Manager: integra con Let’s Encrypt para emitir y renovar certificados SSL de forma automática. Si antes comprabas e instalabas certificados manualmente, esto simplifica todo.
¿Cómo monitorear con Prometheus?
Instala Prometheus para supervisar la salud del clúster y las métricas de performance. Es clave para detectar cuellos de botella y validar el estado de tus despliegues.
¿Cómo reservar la IP estática en Google Cloud?
Cuando Ingress asigne una IP, conviértela de efímera a estática para no perderla. Ve a VPC Networks → External IP Addresses, ubica la IP pública (ejemplo: 35.225.166.40), marca como “estática”, nómbrala “Platzi Auto DevOps” y reserva. Puedes añadir una descripción como “IP del curso de Auto DevOps”.
- Sin esta reserva, la IP efímera podría cambiar.
- Con IP estática, mantienes dominios y certificados estables.
Con esto, la base queda completa: proyecto público en GitLab, clúster con RBAC, servicios críticos instalados e IP estática lista. Lo siguiente es habilitar Auto DevOps y explorar sus funcionalidades.
¿Tienes dudas o algún problema en la instalación? Déjalo en los comentarios para que el equipo de Platzi pueda ayudarte.