Kubernetes fácil con k3d
Hoy vas a conocer Kubernetes fácil con k3d, una herramienta genial que vengo usando desde hace algún tiempo. Si eres como yo, uno de los muchos interesados en aprender sobre Kubernetes, no puedes perderte este artículo.
1. Introducción
En el vasto mundo de la orquestación de contenedores, Kubernetes se ha consolidado como la herramienta líder para gestionar aplicaciones en entornos de contenedores. Sin embargo, para aquellos que están dando sus primeros pasos en este emocionante viaje, la complejidad inicial de desplegar un clúster Kubernetes completo puede ser abrumadora.
Es aquí donde entra en escena k3d, una joya oculta que simplifica radicalmente el proceso de aprendizaje y desarrollo en Kubernetes. Con k3d, desplegar un clúster Kubernetes en tu propio equipo se convierte en una experiencia ligera, fácil de usar y accesible para todos, brindando un entorno ideal para la práctica y el aprendizaje.
En este post, exploraremos por qué k3d se destaca como una herramienta indispensable para aquellos que buscan sumergirse en el fascinante mundo de Kubernetes sin perderse en la complejidad inicial.
¡Prepárate para descubrir cómo k3d hace que desplegar y practicar con Kubernetes sea un juego de niños!
2. Acerca de k3d
k3d es una herramienta innovadora que simplifica la creación de clústeres Kubernetes de manera local. Basado en la tecnología Docker, k3d permite desplegar clústeres Kubernetes de manera rápida y eficiente, proporcionando un entorno de aprendizaje ideal para desarrolladores y entusiastas.
2.1. Requisitos
I. Docker instalado
La instalación de k3d es sorprendentemente fácil. Solo necesitas tener Docker instalado en tu máquina. k3d utiliza contenedores Docker para emular nodos de Kubernetes, lo que lo hace ligero y accesible.
En Windows o Mac, puedes instalar Docker Desktop para tener Docker en tu equipo de una manera muy sencilla.
II. kubectl instalado
kubectl es la herramienta que se utiliza para gestionar clústers de Kuberntes. Dado que vamos a usar k3d para crear y gestionar nuestros propios clústers, es indispensable tener instalado kubectl en nuestro sistema.
En este enlace puedes ver cómo se instala.
2.2. ¿Por qué k3d en lugar de otras opciones?
A diferencia de Minikube o clusters en la nube como EKS, GKE o AKS, k3d destaca por su simplicidad y velocidad. Elimina la complejidad de configuraciones extensas, permite desplegar clústeres Kubernetes localmente en cuestión de minutos y de forma totalmente gratis
Es la elección perfecta para aquellos que buscan una solución ligera y fácil de usar, sin comprometer la funcionalidad y la experiencia de aprendizaje en Kubernetes.
3. Instalación y uso
3.1. Levanta Docker
Si ya tienes Docker instalado, asegúrate que esté levantado y ejecutándose correctamente.
3.2. k3d fácil de instalar
Si estás en Linux o en un entorno WSL en Windows, debes instalar k3d de esta forma:
wget -q -O - https://raw.githubusercontent.com/k3d-io/k3d/main/install.sh | bash
Luego, verifica que esté instalado con un comando de verificación de la versión:
k3d version
En cambio, si estás en Windows (sin WSL, sobre PowerShell por ejemplo), descarga la versión más reciente de k3d para Windows desde este enlace. Por ejemplo, así:
$k3dUrl = "https://github.com/k3d-io/k3d/releases/download/v5.6.0/k3d-windows-amd64.exe" Invoke-WebRequest -Uri $k3dUrl -OutFile k3d.exe
Luego, desde la ubicación actual donde se descargó el binario, ejecutar el comando para verificar su versión instalada:
k3d version
He mencionado sobre WSL asumiendo que el lector ya sabe qué es y para qué sirve. ¿Aún no lo sabes? Entonces date una vuelta por este Tutorial simple de WSL que escribí en otra oportunidad.
3.3. Operaciones comunes
Crear un cluster con nombre por defecto (k3s-default). Esto también arranca el cluster:
k3d cluster create
Ahora observar las configuraciones kubeconfig existentes:
kubectl config get-contexts
Listar los clusters existentes:
k3d cluster list
Importante: Observar que el cluster está iniciado al ver 1/1
en la columna SERVERS
Detener el cluster y ver su estado:
k3d cluster stop k3d cluster list
Iniciar el cluster y volver a verificar:
k3d cluster start k3d cluster list
Borrar el cluster:
k3d cluster delete k3d cluster list
Crear dos clusters: uno llamado «cluster-01» con tres agentes (nodos worker) y otro llamado «k3s-test» sin ningún agente.
k3d cluster create cluster-01 -a 3 k3d cluster create k3s-test
Ahora observar las configuraciones kubeconfig existentes:
kubectl config get-contexts
Debería lucir algo así:
CURRENT NAME CLUSTER AUTHINFO NAMESPACE
k3d-cluster-01 k3d-cluster-01 admin@k3d-cluster-01
* k3d-k3s-test k3d-k3s-test admin@k3d-k3s-test
* El último cluster creado es cuyo contexto de kubectl está activo por defecto.
En el contexto actual (k3d-k3s-test), listar los nodos existentes:
kubectl get nodes
* Se debería apreciar solo un nodo master y ningún worker.
Cambiar al contexto «k3d-cluster-01» del primer cluster, luego listar los nodos:
kubectl config use-context k3d-cluster-01 kubectl get nodes
Conclusión
¿Qué te pareció este tutorial de Kubernetes fácil con k3d? ¿Te pareció mejor opción que usar Minikube, que es tan pesado y lento? ¿Te pareció k3d más práctico y económico que crear un cluster gestionado en la nube (AKS, EKS o GKE)?
k3d tiene un repertorio más amplio de subcomandos que soporta para manejar diferentes operaciones. Pero, en este artículo, me he centrado solo en dar a conocer la herramienta y llevarte de la mano hacia su uso más sencillo, para así empezar a practicar con Kubernetes en tu día a día.
Espero que este post y la herramienta k3d hayan sido de gran utilidad para ti.
Deja un comentario