En este punto vamos a ver lo primero como seria lanzar o desplegar una aplicación usando kubernetes, para ello vamos a usar una imagen de docker pública (agradecer a los creadores, el contenido de esa imagen no tiene nada que ver conmigo) que contiene una versión de un juego de nuestro querido fontanero MARIO (Mas info). Para lanzarla lo que hacemos es:

kubectl run mario-test --image=pengbai/docker-supermario:latest --port=8080

En este comando lo que hacemos es indicarle a kubernetes que queremos arrancar un contenedor o un servicio con nombre mario-test con la imagen en cuestión que vemos en dockerhub y que esta aplicación escucha en el puerto 8080 (esto depende de cada imagen, en nuestro caso es ese, mirar la información de cada imagen para saber cual es el puerto que realmente escucha).
Al ejecutarse lo que hace es descargarse la imagen de docker hub y arrancarla.

Si todo va bien la respuesta seria algo similar a esto:
Captura-de-pantalla-2020-11-14-a-las-14.08.34

Podemos ver el estado de este contenedor con:

kubectl get pods

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

Por el momento no nos preocuparemos con que significa cada comando, lo que queremos hacer es comprobar como es empezar a trabajar con kubernetes.
Como vemos en la imagen tenemos un algo llamado pod con el nombre mario-test, este nombre es necesario para poder realmente acceder a nuestro contenedor.
En el comando que hemos lanzado para instanciar la imagen en cuestión, le hemos indicado el puerto por el que trabaja realmente el contenedor pero como tal nosotros no tenemos acceso a ese puerto, debemos hacer lo que se conoce como un port-forwarding para sincronizar un puerto de nuestra máquina con el puerto del contenedor, para ello ejecutaremos lo siguiente:

kubectl port-forward mario-test 8000:8080

Aqui lo que le indicamos es que sincronice nuestro puerto 8000 con el 8080 del contenedor o aplicación con el nombre mario-test. Si todo va bien veremos algo como:

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

Y si ahora nos vamos a nuestro navegador e intentamos acceder a localhost:8000, nos debería aparecer nuestro juego

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

Ojo tenemos que tener en cuenta que el comando de port-forward se queda ejecutandose hasta que lo paremos

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

Si nosotros paramos el comando en cuestión veremos como ya no podemos acceder a nuestra página con el juego de mario.

Este post ha sido solo un post introductorio para que veamos como seria desplegar una imagen básica usando kubernetes. En los próximos post entraremos más en detalle en como funciona todo esto y haremos muchas más cosas viendo todas las capacidades de kubernetes, un abrazooooo nos vemos en el siguiente.