Guía Rápida: Instalar Kubernetes En Ubuntu 20.04

by Jhon Lennon 49 views

¡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!

¿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