sábado, 7 de abril de 2018

Kubernetes en 5 min con GKE

Puede que muchos hayáis intentado usar Kubernetes con más o menos fortuna, muchos tutoriales intentan explicar como usar Kubernetes sobre clusters con CoreOS o sobre plataformas como OpenStack, también existe la posibilidad de instalar Kuberntes desde las fuentes, tal como se explica en la propia documentación de Kubernetes aquí.



Claramente hay que saber cual es el objetivo de instalar un sistema como Kubernetes, en el caso de tener curiosidad por como funciona en los niveles más bajos, por ejemplo de integración uno se puede plantear el instalarlo todo a mano, si solo se quiere aprender a usar un sistema de orquestación, la mejor forma puede ser usar la versión de Kubernetes includa en Docker en su versión edge, aunque esto por motivos obvios solo monta un cluster de un solo nodo nos va a permitir usar una instalación de Kubernetes completamente funcional sin mucho esfuerzo.

Pero si lo que se quiere es usar Kubernetes para el desarrollo de una aplicación o incluso para su puesta en producción la mejor forma es usar los servicios de proveedores como Google que nos ofrecen la integración con sus soluciones cloud, en el caso de Google el servicio se llama Google Container Engine (aka GKE), este servicio nos permite crear un cluster de máquinas orquestadas con Kubernetes y integradadas con todos los servicios dentro de Google Cloud Platform.

Veamos como crear una primer cluster con unos sencillos pasos, primero que nada hay que tener una cuenta de Google Cloud Platform, una vez en la consola vamos al apartado de Kubernetes Engine



En esta pantalla podemos ver los clústers que tengamos ya creados y crea una nuevo si lo necesitamos.

Para crear un nuevo clúster es tan sencillo como ir a la opción Crear clúster y rellenar el formulario.



En este formulario podemos indicar las opciones básicas para un clúster empezando por el nombre y una pequeña descripción si queremos. Un punto importante es la ubicación, ya que puede hacer variar, y mucho, el coste del clúster. Inicialmente las únicas opciones que pueden interesar son: ubicación, zona, tipo de máquina y tamaño, con estas opciones vamos a poder definir un cúster dejando el resto por defecto, lo que básicamente es un clúster listo para usar.

He dejado de mencionar la opción de la versión a propósito ya que la versión para un clúster puede variar la forma en la que se usan ciertas características, en el momento de escribir este artículo la versión por defecto es la 1.8.8, dicha versión está testeada y lista para ser usada en producción.

Una vez creado el clúster podemos acceder al apartado "Clústeres de kubernetes" para ver la lista con los distintos clústers que tengamos en ese momento, desde esta lista podemos obtener la linea de comandos necesaria para conectarnos a cada uno de ellos usando la herramienta kubectl, puedes ver como instalar esta y otras herramientas en el artículo Herramientas básicas para administrar Kubernetes desde el terminal.


Para un acceso rápido al clúster lo más sencillo es activar la shell dentro del panel.


Una vez en la consola podemos usar el comando kubectl para conectarnos y gestionar el clúster.


Con esto pasos tan sencillos ya podemos empezar a usar los recursos que nos proporciona Kubernetes en un clúster inicial con las opciones por defecto.