Home » Kubernetes fácil con k3d
k3d

Kubernetes fácil con k3d

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!

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.

Post navigation

Deja un comentario

Agregue un comentario

Su dirección de correo no se hará público. Los campos requeridos están marcados *