En general ya tenemos una idea de que es Kubernetes, seguro que lo hemos oido o leido en algún momento, en un resumen muy escueto, podemos decir que es una herramienta de instrumentación/orquestación de nodos de Docker, estos pueden estar en uno o varios servidores. Nos provee de una serie de herramientas para poder gestionar nuestros conjuntos de aplicaciones que están funcionando en varios contenedores Docker.

Instalación

En un primer momento comentar que realmente Kubertenes es un servicio que estará funcionando en algún proveedor cloud (AWS/Gooogle/Azure...), por lo que propiamente dicho no tendriamos una instalación. En esta sección veremos como instalar un entorno local de pruebas de kubernetes y las herramientas habituales de gestión de kubernetes (que estas si que se usan en producción)

CLI de gestión kubernetes

El servicio de Kubernetes como tal, dispone de una API para su gestión, es decir, que podríamos usar postman o curl para gestionar nuestro entorno de kubernetes, pero esto en mi opinión para el uso habitual de kubernetes no es necesario. Disponemos de un cli específico llamado kubectl que nos proporciona todo lo necesario para la gestión de cualquier entorno de kubernetes. (Mas info)

Basicamente para su instalación en MacOs por ejemplo solo necesitamos hacer:

brew install kubernetes-cli

Con esto se instalaria el cli que usaremos para trabajar.

Kubernetes en local

A continuación lo que haremos será instalar el servicio local que será nuestro kubernetes, para ello han creado una herramienta llamada minikube que hará las veces de server de kunernetes (Mas info).

Para instalarlo solo tenemos que ejecutar

brew install minikube

Esto instalará lo necesario para que minikube funcione.
A continuación lo que haremos será arrancar minikube para que funcione con kubectl. Para ello es suficiente con ejecutar:

minikube start

Esto iniciará y configurará el entorno de minikube y además hará que funcione con kubectl.
Podemos indicarle también la cantidad de memoria que queremos que use por defecto nuestro servicio de minikube pasandole:

minikube start --memory=4096

Esto haría que use 4Gb por defecto usa 2. Tiene más opciones como indicarle cantidad de CPU y demás. Si queréis ver más opciones lo ideal es mirar la documentación para verlas todas.

Probando que todo ha ido bien

Ahora ya tenemos lo básico para empezar a trabajar. Podemos comprobarlo ejecutando los comandos:

  • Ver la versión que tenemos tanto del cliente (lo que seria kubectl) como del servidor (en este caso minikube)
kubectl version

Captura-de-pantalla-2020-11-14-a-las-13.45.00

  • Ver los nodos que tenemos de kubernetes (donde podemos ver el rol que tiene cada uno, en este caso MASTER)
kubectl get nodes

Captura-de-pantalla-2020-11-14-a-las-13.45.07

  • Ver el estado kubernetes
minikube status

Captura-de-pantalla-2020-11-14-a-las-13.48.02

  • Información sobre el cluster de kubernetes
kubectl cluster-info

Captura-de-pantalla-2020-11-14-a-las-13.49.21

Con esto ya tendríamos lo básico para empezar a trabajar con kubernetes como si de un entorno de producción se tratara. En el próximo post empezaremos a mandarle instrucciones para ver como responde, un abrazoooooo