Creación y Despliegue de Clúster Kubernetes en Google Cloud
Clase 22 de 48 • Entrenamiento de Google Cloud Platform
Resumen
¿Cómo crear un clúster de Kubernetes en Google Cloud Platform?
Levantar tu propio clúster de Kubernetes en Google Cloud Platform (GCP) es una excelente manera de gestionar aplicaciones a gran escala. Este proceso se puede hacer mediante la terminal de tu computadora o usando Cloud Shell. Antes de comenzar, asegúrate de ejecutar el comando gcloud init
para validar tus credenciales y el proyecto en el que trabajarás.
¿Cómo definir las variables del clúster?
Lo primero es definir las variables necesarias para tu clúster. En este ejemplo, el nombre del clúster es platzicluster
. También debes elegir la zona donde se desplegará, siendo US Central una opción popular por su cercanía geográfica. Sin embargo, te recomendamos visitar gcping.com para ver las latencias con las distintas regiones y elegir la mejor zona para ti.
¿Qué comando usar para crear el clúster?
A través del siguiente comando, podemos comunicarle a Borg, el sistema detrás de Kubernetes, que queremos crear un clúster y añadir algunos complementos opcionales como el horizontal pod autoscaling
, HTTP Load Balancing
y Cloud Run
. Estos add-ons
no son necesarios, pero son útiles para otras configuraciones como el uso de proxies tipo Envoy e Istio.
gcloud container clusters create $platzicluster --enable-horizontal-pod-autoscaling \
--enable-http-load-balancing --addons=CloudRun --zone=us-central1-a \
--enable-ip-alias --machine-type=n1-standard-2
¿Cómo obtener credenciales para conectarse al clúster?
Para realizar despliegues, es necesario conectarse al nodo maestro del clúster. Utiliza kubectl
, pero primero debemos solicitar un token de credenciales a Borg. Usa el siguiente comando para obtener dichas credenciales:
gcloud container clusters get-credentials $platzicluster --zone=us-central1-a
Esto validará tu identidad en Google Cloud Platform y configurará un token localmente.
Desplegar aplicaciones en Kubernetes
Una vez conectado al nodo maestro, podemos desplegar nuestra aplicación. Esto se puede hacer a través de un archivo YAML o directamente desde una imagen de contenedor. Aquí, usamos una imagen ubicada en Google Container Registry.
¿Cómo lanzar un deployment?
Utiliza el siguiente comando para lanzar un deployment. Asegúrate de utilizar una versión probada de tu aplicación para evitar dependencias no probadas:
kubectl create deployment hello-app --image=gcr.io/google-samples/hello-app:1.0
¿Cómo exponer un servicio?
Para que el despliegue sea accesible desde el exterior del clúster, necesitamos exponer el servicio:
kubectl expose deployment hello-app --type=LoadBalancer --port 8080 --target-port 8080
Verificar el despliegue y el servicio
¿Cómo verificar que los pods estén funcionando?
Para comprobar que los pods están saludables, usa el comando:
kubectl get pods
Este comando proporcionará información sobre el estado del pod, como si está funcionando correctamente y desde cuándo.
¿Cómo obtener la IP externa del servicio?
Usa el siguiente comando para describir el servicio y obtener su IP externa:
kubectl get service
Una vez que el load balancer asigne una IP externa, podrás visitar esa dirección y verificar que tu servicio esté funcionando en la red.
Recursos adicionales
Recuerda consultar los enlaces proporcionados en la clase para acceder a más recursos, realizar Codelabs y experimentar con otros despliegues. ¡Sigue practicando y experimentando para dominar Kubernetes y GCP!