Tutorial de Kubernetes

La plataforma Kubernetes, también conocida como K8, permite gestionar grandes conjuntos de contenedores y facilita el trabajo con numerosos automatismos, con lo que ha revolucionado el mundo del desarrollo de software. Aquí te explicamos los pasos más importantes para que aproveches las funciones que ofrece, desde la instalación hasta el primer clúster.

Private Cloud powered by Vmware

Con la Private Cloud de IONOS, disfrutarás de todas las ventajas de un entorno en la nube con nuestros data centers de alto rendimiento con certificación ISO.

Seguro
Económico
Flexible

Tutorial de Kubernetes: introducción e instalación

Kubernetes trabaja con una gran variedad de servidores, llamados maestros (master) y nodos (nodes), que no necesariamente han de estar ubicados en servidores físicos diferentes. Gracias a máquinas virtuales, desde un ordenador se pueden activar varios nodos Kubernetes. Para probarlo, el programa gratuito Minikube es una buena opción, ya que permite trabajar con Kubernetes también de manera local. Puesto que Minikube crea un ordenador virtual, el programa está supeditado a un hipervisor. Por ello, para poder usar Minikube, también hay que tener instalado un programa como, por ejemplo, VirtualBox, así como la herramienta Kube Control.

Nota

Este tutorial de Kubernetes explica el proceso de instalación en Ubuntu, pero el programa también funciona en Windows y macOS. El manual oficial también explica cómo instalarlo en estos sistemas operativos.

Instalación de Kube Control

Primero instala Kubectl, el programa necesario para administrar clústeres.

curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl

Minikube

A continuación, instala Minikube, que crea un ordenador virtual como nodo.

curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 \
&& chmod +x minikube

Luego inicia Minikube.

minikube start

Al iniciar Minikube, Kubectl debería configurarse automáticamente de forma correcta. Para pasar de la línea de comandos a una interfaz gráfica de usuario (o GUI, por sus siglas en inglés), introduce un nuevo comando que abrirá el panel de control o dashboard en tu navegador estándar:

minikube dashboard
Consejo

Si en esta ocasión no quieres usar tu propio sistema para instalar Kubernetes, también puedes recurrir a un terminal web del desarrollador. Este tutorial interactivo te ayuda a dar tus primeros pasos con Kubernetes.

Trabajar con Kubernetes

Una vez iniciado Minikube, el programa creará automáticamente un clúster con un único nodo. Puedes comprobarlo introduciendo un comando para Kubectl:

kubectl get nodes

Ahora ya puedes crear despliegues (deployments) desde el panel de control. Para ello, haz clic en la opción “Crear” (arriba a la derecha) y aparecerá un editor web en el que podrás crear un despliegue en formato JSON o YAML. Al hacerlo, Kubernetes generará automáticamente varios pods (grupos de contenedores), cuya cantidad puede modificarse escalando el despliegue. La función correspondiente se encuentra sobre el icono de tres puntos junto al despliegue. 

Otra opción es crear despliegues a través de la terminal. Para ello, sin embargo, los contenidos han de estar ya integrados en una imagen Docker guardada en un repositorio.

kubectl create deployment --image=[Ruta a la imagen]

En la terminal de comandos pueden solicitarse numerosas informaciones:

¿Qué despliegues existen?

kubectl get deployments

¿Cuántos pods hay?

kubectl get pods

¿Qué servicios hay?

kubectl get services

¿Qué nodos están activos?

kubectl get nodes

Llegados a este punto, hemos iniciado el despliegue, pero aún no lo hemos publicado. Para hacerlo, hay que crear un servicio (service):

kubectl expose deploy test-deployment

De este modo, sin embargo, el servicio solo se ha publicado dentro del clúster. Para poder acceder al despliegue también desde fuera del clúster, hay que añadir flags adicionales:

kubectl expose deploy test-deployment --type=LoadBalancer --port=8080

Entonces ya se puede iniciar el servicio con Minikube:

minikube service test-deployment

También existe un comando para eliminar el servicio:

kubectl delete service test-deployment

E, igualmente, uno para eliminar el despliegue:

kubectl delete deployment test-deployment

Finalmente, para cerrar Minikube, hay que detener el proceso:

minikube stop

Y, si ya no deseas trabajar más con el ordenador virtual, también puedes eliminarlo:

minikube delete

Al hacerlo, también se eliminan tanto la configuración previa como los despliegues y pods creados, de manera que, si se vuelve a iniciar Minikube, se empieza de nuevo con un clúster vacío.