Laboratorio 10: Contenedores con GKE (Aprovisionando Clústeres de Kubernetes)
Autor: Eduardo Martínez Agrelo
Bienvenidos al décimo laboratorio del curso de Terraform. En este módulo práctico, aprenderemos a configurar clústeres elásticos de Kubernetes. Desplegaremos recursos de cómputo en Google Cloud para orquestar microservicios mediante infraestructura segura, modular y altamente optimizada.
Arquitectura de Clústeres: Plano de Control y Nodos Independientes
El aprovisionamiento profesional de GKE requiere separar los componentes del sistema para evitar actualizaciones destructivas del entorno. En lugar de desplegar un clúster monolítico cerrado, utilizaremos recursos independientes para desacoplar el plano de administración:
- Plano de Control: Configura el elemento central de administración de Kubernetes sin arrancar recursos innecesarios ni añadir costos fijos al proyecto.
- google_container_node_pool: Gestiona de forma aislada el grupo de nodos físicos permitiendo escalar el cómputo de manera fluida y flexible.
Redes VPC-Nativas y Rangos de Direccionamiento IP Secundarios
Para asegurar el correcto enrutamiento del tráfico interno sin recurrir a complejas tablas de enrutamiento estáticas, declararemos subredes con soporte para direccionamiento secundario:
cluster_secondary_range_name = "gke-pods-range"
Esta directiva de Terraform asigna rangos de red exclusivos para que el clúster asocie IPs directas a cada contenedor. Al delegar esta asignación de subred a la infraestructura VPC-nativa de GCP, garantizamos un tráfico óptimo y seguro.
Optimización del Cómputo y Contenedores Resilientes
Para proteger nuestro presupuesto y evitar que los laboratorios generen cargos innecesarios en la nube, implementaremos Spot VMs. No utilizaremos recursos tradicionales; configuraremos Terraform para aprovisionar capacidad sobrante con descuentos significativos y políticas eficientes de seguridad en los nodos:
- spot = true: Indicará al grupo que ejecute las instancias bajo el esquema elástico de Spot VMs optimizando el gasto en GCP.
- oauth_scopes: Definirá las credenciales básicas que tendrán los servidores para enviar telemetría directa al servicio de monitoreo.
La Conexión Local con Kubectl
En este laboratorio, validarás tu despliegue ejecutando un comando de control de Google Cloud. Generaremos un comando
dinámico en el output de GKE utilizando la utilidad de consola gcloud container clusters get-credentials
para sincronizar tus permisos locales y listar tus nodos de manera exitosa.
Conclusión: Tu orquestador de microservicios en la nube
Has completado el laboratorio de contenedores en GKE. Has aprendido que el aprovisionamiento profesional de Kubernetes consiste en combinar planos de control zonales, grupos de nodos Spot independientes y redes VPC-nativas con direccionamiento secundario. Ya tienes tu clúster funcionando de manera elástica en Google Cloud; el siguiente paso es avanzar al Laboratorio 11 para gestionar políticas de seguridad e IAM.