Guía Rápida: Instalar Kubernetes En Ubuntu 20.04
Guía Rápida: Instalar Kubernetes en Ubuntu 20.04
¡Ey, developers y sysadmins! ¿Listos para meterle mano a Kubernetes en Ubuntu 20.04 ? Si estás buscando una manera sencilla y efectiva de desplegar tus aplicaciones en contenedores, ¡has llegado al lugar correcto! Hoy vamos a desglosar el proceso paso a paso, para que montar tu propio clúster de Kubernetes en esta versión específica de Ubuntu sea pan comido. Olvídate de los tutoriales confusos; aquí te lo explicamos todo de forma clara y directa. ¡Vamos a ello!
Table of Contents
¿Por Qué Elegir Ubuntu 20.04 para Kubernetes?
Antes de zambullirnos en la instalación, hablemos un poco de por qué Ubuntu 20.04 (Focal Fossa) sigue siendo una opción genial para desplegar Kubernetes. Primero que nada, Ubuntu es un caballo de batalla en el mundo Linux, conocido por su estabilidad y amplio soporte. La versión 20.04 LTS (Long Term Support) te garantiza actualizaciones de seguridad y soporte por un buen tiempo, lo cual es crucial para cualquier entorno de producción. Además, la comunidad de Ubuntu es enorme, lo que significa que encontrarás toneladas de recursos, foros y soluciones a problemas que puedas encontrar. Para Kubernetes, esto se traduce en un sistema operativo robusto que maneja bien las dependencias y configuraciones necesarias para que tu clúster funcione a la perfección. La compatibilidad con las últimas versiones de Docker, containerd y otras herramientas esenciales para la orquestación de contenedores es también un punto a favor. Así que, sí, instalar Kubernetes en Ubuntu 20.04 es una decisión inteligente si buscas una base sólida y confiable para tus despliegues.
Además de la estabilidad y el soporte a largo plazo, Ubuntu 20.04 viene con un kernel relativamente moderno que ofrece buen rendimiento y características necesarias para la virtualización y la contenerización. Las herramientas de red que trae por defecto, como
netplan
, son bastante potentes, aunque a veces requieran un ajuste fino para integrarse con la red de Kubernetes. Pero no te preocupes, cubriremos las bases para que esto no sea un obstáculo. La disponibilidad de paquetes actualizados a través de
apt
facilita la instalación de todos los componentes de Kubernetes, como
kubeadm
,
kubelet
y
kubectl
. Estos son los pilares sobre los que se construirá tu clúster, y tenerlos fácilmente accesibles y actualizados es una gran ventaja. En resumen, si tienes una máquina con Ubuntu 20.04 o estás pensando en instalarla, ya tienes un excelente punto de partida para tu aventura con Kubernetes. ¡No subestimes el poder de una buena base!
Preparando Tu Entorno: Los Requisitos Previos
Ok,
chicos
, antes de empezar a instalar Kubernetes en Ubuntu 20.04, necesitamos asegurarnos de que nuestras máquinas (tanto el nodo master como los nodos worker) estén bien preparadas. Esto es súper importante para evitar dolores de cabeza más adelante. Piensa en esto como poner los cimientos antes de construir una casa. Lo primero es tener al menos dos máquinas (o VMs): una actuará como tu nodo
master
(o control plane) y las otras como nodos
worker
(donde correrán tus aplicaciones). Para la instalación de Kubernetes, vas a necesitar que estas máquinas tengan: acceso a internet, al menos 2 GB de RAM cada una (¡más es mejor!), 2 CPUs, y un espacio de disco decente. Asegúrate también de que cada máquina tenga un nombre de host único y que puedan comunicarse entre sí a través de la red. Deshabilitar el
swap
es otro paso
crucial
. Kubernetes no lo lleva muy bien, así que vamos a necesitar desactivarlo temporalmente y permanentemente. Para ello, puedes usar
sudo swapoff -a
y luego comentar la línea de swap en
/etc/fstab
. ¡No te olvides de esto!
Otro punto clave es configurar los grupos de seguridad o
firewalls
para permitir el tráfico necesario para Kubernetes. Necesitarás abrir ciertos puertos en tus nodos. Por ejemplo, en el nodo master, típicamente se necesita el puerto 6443 (API Server), 2379-2380 (etcd) y 10250 (Kubelet API). En los nodos worker, el puerto 10250 (Kubelet API) y el 30000-32767 para el NodePort Services. ¡Un lío, lo sé! Pero es vital para que todo el clúster se comunique correctamente. Si usas
ufw
en Ubuntu, tendrás que configurarlo adecuadamente. Por último, pero no menos importante, necesitamos instalar un
runtime
de contenedores. Los más comunes son Docker o, más recientemente y recomendado por Kubernetes,
containerd
. Vamos a optar por
containerd
porque es el estándar actual y se integra de maravilla. Asegúrate de que el módulo
br_netfilter
del kernel esté cargado y que la configuración de red permita el reenvío de paquetes IP. Esto lo puedes verificar y configurar con comandos como
sudo sysctl net.bridge.bridge-nf-call-iptables=1
,
net.ipv4.ip_forward=1
y guardando estos cambios en
/etc/sysctl.d/kubernetes.conf
. ¡Tómate tu tiempo con esta preparación, vale la pena!
El proceso de preparación puede parecer un poco tedioso, pero te aseguro que
instalar Kubernetes en Ubuntu 20.04
será mucho más suave si dedicas tiempo a estos pasos iniciales. Por ejemplo, al deshabilitar el swap, evitas posibles problemas de rendimiento y comportamiento errático de las aplicaciones que corren en tus pods. Kubernetes utiliza
cgroups
para gestionar recursos, y el swap puede interferir con esta gestión. En cuanto a los nombres de host, es fundamental que cada nodo tenga un identificador único y resoluble. Puedes configurar esto en
/etc/hosts
o, mejor aún, si tienes un DNS interno, úsalo. Esto ayuda a que
kubeadm
identifique correctamente cada nodo y a que los componentes del clúster se comuniquen sin problemas. La configuración del firewall es otro de esos pasos que, si se omiten, te harán preguntarte por qué tus pods no se comunican o por qué el dashboard no carga. Asegúrate de tener los puertos correctos abiertos para el tráfico entre nodos y también para el tráfico que entra y sale de tu clúster. Si estás ejecutando esto en un entorno de nube, recuerda configurar las reglas del grupo de seguridad de tu proveedor. ¡No te saltes la configuración de
containerd
! Asegúrate de que esté instalado y configurado para usar
systemd
como
cgroup driver
. Esto es lo que Kubernetes espera por defecto y lo que garantiza una gestión de recursos consistente. Con todo esto listo, estarás preparado para el siguiente gran paso: la instalación de los paquetes de Kubernetes.
Instalando los Componentes Clave: Kubeadm, Kubelet y Kubectl
¡Manos a la obra con la instalación! Ahora que tenemos nuestras máquinas listas, vamos a instalar las herramientas que nos permitirán construir nuestro clúster Kubernetes. Necesitamos tres paquetes principales:
kubeadm
,
kubelet
y
kubectl
. El primero,
kubeadm
, es el que nos va a ayudar a inicializar el clúster.
kubelet
es el agente que corre en cada nodo y se asegura de que los contenedores estén corriendo en los pods. Y
kubectl
es la herramienta de línea de comandos que usaremos para interactuar con nuestro clúster. Para
instalar Kubernetes en Ubuntu 20.04
, el proceso es bastante directo usando
apt
. Primero, vamos a configurar el repositorio de Kubernetes. Para eso, ejecutamos unos comandos para añadir la clave GPG y el repositorio. Es algo así como decirle a tu sistema dónde encontrar el software de Kubernetes. Luego, actualizamos la lista de paquetes con
sudo apt update
y finalmente instalamos los paquetes con
sudo apt install -y kubeadm kubelet kubelet kubect
. ¡Ojo! Es importante que fijemos las versiones de estos paquetes para asegurarnos de que todos los nodos tengan la misma versión y evitar problemas de compatibilidad. Puedes hacer esto añadiendo
=<version>
al nombre del paquete. Por ejemplo,
sudo apt install -y kubeadm=<version> kubelet=<version> kubectl=<version>
. Una vez instalados, hay un último paso
esencial
: habilitar
kubelet
para que se inicie al arrancar el sistema con
sudo systemctl enable --now kubelet
. ¡Y listo! Ya tienes las herramientas listas para empezar a construir tu clúster. ¡Esto es un gran avance!
El proceso de añadir el repositorio de Kubernetes es fundamental porque los paquetes no vienen por defecto en los repositorios estándar de Ubuntu. Necesitas asegurarte de tener habilitado el protocolo
https
en
apt
y tener instalados los paquetes
apt-transport-https
,
ca-certificates
,
curl
, etc., que usualmente se instalan por defecto, pero vale la pena verificar. Los comandos para añadir la clave GPG y el repositorio suelen ser:
curl -fsSL https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo gpg --dearmor -o /usr/share/keyrings/kubernetes-archive-keyring.gpg
y luego `echo