Respuesta rápida: prepara cada nodo (sin swap y con los módulos de red), instala containerd, kubeadm, kubelet y kubectl, e inicializa el control plane:
sudo kubeadm init --pod-network-cidr=10.244.0.0/16
mkdir -p $HOME/.kube
sudo cp /etc/kubernetes/admin.conf $HOME/.kube/config

Después instala un CNI y comprueba con kubectl get nodes que el nodo pasa a Ready. Es un laboratorio: para producción hacen falta red privada, backups y monitoreo.

Nivel: intermedio · Requiere: uno o más servidores Ubuntu/Debian con al menos 2 GB de RAM y 2 CPU

Laboratorio Kubernetes con kubeadm y containerd en Ubuntu

Un servidor cloud te da libertad para desplegar aplicaciones, automatizaciones y bases de datos, pero esa libertad tambien exige criterio operativo. En esta guia vas a ver una implementacion practica de crear un laboratorio kubernetes con kubeadm y containerd en cloud servers con comandos orientados a Ubuntu/Debian, puntos de verificacion y advertencias para no romper disponibilidad ni seguridad.

La idea no es memorizar comandos sueltos, sino dejar un flujo repetible: preparar el servidor, instalar la herramienta, configurar lo minimo seguro, probar que funciona y cerrar con controles de seguridad.

¿Qué es?

kubeadm es una herramienta oficial para crear un cluster Kubernetes minimo y conforme a buenas practicas de arranque. No instala todo lo necesario para produccion por si sola: red, storage, backups, observabilidad y politicas quedan bajo tu responsabilidad.

¿Cuándo conviene usarlo?

  • Quieres aprender Kubernetes sobre servidores reales.
  • Necesitas un laboratorio para probar manifests, Helm o pipelines.
  • Buscas entender los componentes antes de elegir una plataforma administrada.

Requisitos previos

  • Uno o mas Cloud Servers Ubuntu/Debian compatibles.
  • Al menos 2 GB de RAM y 2 CPU para control plane de laboratorio.
  • Conectividad entre nodos.
  • Conocimiento basico de redes Linux.

Puertos necesarios

  • 6443/tcp API server
  • 10250/tcp kubelet
  • 2379-2380/tcp etcd en control plane
  • puertos CNI segun plugin

Paso 1: Preparar nodos

Paso 1: preparar los nodos, con la comprobación de los requisitos previos antes de instalar nada
S

Cumplir requisitos minimos y conectividad entre servidores.

sudo swapoff -a
sudo modprobe overlay
sudo modprobe br_netfilter
cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf

Kubernetes requiere cuidado de red; en produccion define red privada, backups y monitoreo antes.

Paso 2: Instalar containerd

Paso 2: instalar containerd como runtime de contenedores compatible con la interfaz CRI

Agregar runtime CRI compatible.

sudo apt update
sudo apt install -y containerd
containerd config default | sudo tee /etc/containerd/config.toml
sudo systemctl restart containerd

Advertencia: Kubernetes ya no usa dockershim; usa un runtime CRI como containerd.

Paso 3: Instalar kubeadm, kubelet y kubectl

Paso 3: instalar kubeadm, kubelet y kubectl, y fijar sus versiones para que una actualización no rompa el clúster

Agregar herramientas del cluster.

sudo apt-get install -y apt-transport-https ca-certificates curl gpg
sudo apt-get install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl

Advertencia: Usa versiones compatibles entre kubeadm, kubelet y el control plane.

Paso 4: Inicializar control plane

Crear el cluster minimo.

sudo kubeadm init --pod-network-cidr=10.244.0.0/16
mkdir -p $HOME/.kube
sudo cp /etc/kubernetes/admin.conf $HOME/.kube/config
Paso 4: inicializar el control plane con kubeadm init y el rango de red de pods elegido

Advertencia: Guarda el comando kubeadm join en un lugar seguro si sumaras workers.

Paso 5: Instalar red de pods y probar

Permitir comunicacion entre pods.

kubectl get nodes
kubectl apply -f URL_DEL_CNI
kubectl get pods -A
kubectl create deployment nginx --image=nginx

Elige un CNI oficial/activo y revisa sus requisitos de puertos.

Antes de dar por terminado el despliegue, revisa tres puntos: que el servicio publico sea realmente el que querias publicar, que los puertos internos no hayan quedado expuestos y que los secretos no esten en archivos versionados o historiales de shell. Si el procedimiento toca bases de datos, runners, automatizaciones o certificados, prueba primero en un entorno secundario.

Tambien conviene documentar como se reinicia, como se actualiza, donde estan los logs y cual es el comando de verificacion rapida. Esa informacion vale mucho cuando otra persona del equipo tiene que intervenir.

Problemas frecuentes

Nodo queda NotReady

Revisa que el CNI este instalado y que kubelet no tenga errores.

kubeadm falla por swap

Desactiva swap y aseguralo en /etc/fstab.

Pods no se comunican

Confirma reglas de firewall y requisitos del plugin CNI elegido.

Conclusión

DonWeb Cloud puede servir como laboratorio flexible para aprender Kubernetes con servidores reales. Para cargas criticas, suma arquitectura, seguridad y operacion antes de considerarlo produccion.

Cloud Servers by Donweb

Ya tienes el laboratorio en pie. Para pasarlo a algo serio hacen falta nodos de verdad.
Alojamiento ultra rápido, escalable y con alta disponibilidad.

  • Performance que te sorprenderá
  • Rápida escalabilidad y sin limitaciones
  • Arquitectura de alta disponibilidad
  • Soporte experto y ejecutivos de cuenta
  • Pagos en tu moneda y facturación local

Monta tu clúster en un Cloud Server