Instalar Kubernetes en Ubuntu

Tiempo de lectura: 2 minutos

Vamos a instalar Kubernetes en un entorno de Ubuntu (https://kubernetes.io/es/docs/tasks/tools/included/install-kubectl-linux/)

Instalar Docker

Lo primero que tenemos que hacer es instalar Docker en nuestro entorno:

Instalamos Docker Compose en Ubuntu siguiendo las instrucciones de la web oficial de Docker

Actualizamos dependencias e instalamos nuevos paquetes necesarios

sudo apt-get update

Instalamos las dependencias necesarias:

sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

# Add the repository to Apt sources:
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

Ahora instalamos la última versión de Docker

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Ejecutamos Docker

sudo docker run hello-world

Podemos configurar para que no necesitamos usar el comando sudo y lanzar Docker (https://docs.docker.com/engine/install/linux-postinstall/):

sudo groupadd docker
sudo usermod -aG docker $USER
newgrp docker

Finalmente, Docker funcionará sin necesidad de comando sudo

docker run hello-world

*Para ejecutar docker compose usaremos:

docker compose <comando>

Ahora vamos a instalar Kubernetes y todo el entorno necesario

Puedes utilizar herramientas como kubeadm, kubelet y kubectl para configurar y gestionar un clúster de Kubernetes.

Desactivar el intercambio (swap)

Kubernetes requiere que el intercambio esté desactivado.

Para desactivar el intercambio (swap) en Linux, generalmente, necesitas comentar o eliminar la línea correspondiente en el archivo /etc/fstab. Aquí hay un ejemplo de cómo se ve la línea típica de swap en el archivo /etc/fstab:

UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx none  swap  sw  0  0

Para desactivar el swap, simplemente debes comentar esta línea agregando un # al principio:

# UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx none  swap  sw  0  0

Después de realizar este cambio, guarda el archivo y reinicia el sistema o desactiva el intercambio manualmente con el siguiente comando:

sudo swapoff -a

Ten en cuenta que estas instrucciones pueden variar dependiendo de la distribución específica de Linux que estés utilizando. Además, es fundamental asegurarte de que no estés desactivando el intercambio en un entorno donde sea esencial para el rendimiento del sistema.Paso 3: Instalar Docker

Instalar Kubernetes

Instala kubeadm, kubelet y kubectl con el siguiente comando:

sudo snap install kubeadm --classic
sudo snap install kubectl --classic
sudo snap install kubelet --classic

Inicializar el clúster con kubeadm

Inicia el clúster de Kubernetes utilizando kubeadm. Este comando configura el nodo actual como nodo maestro:

sudo kubeadm init --pod-network-cidr=10.244.0.0/16

Configurar el entorno de Kubernetes

Sigue las instrucciones proporcionadas por kubeadm al finalizar la inicialización. Estas instrucciones incluirán un comando similar a este para configurar kubectl:

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

Instalar un plugin de red (opcional)

Para que los pods en tu clúster puedan comunicarse entre sí, puedes instalar un plugin de red. Calico es una opción común:

kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml

Últimos pasos

Si todo va bien, tu clúster de Kubernetes debería estar funcionando. Puedes verificar el estado de los nodos con:

kubectl get nodes

Ahora puedes comenzar a desplegar y gestionar aplicaciones en tu clúster de Kubernetes.

Recuerda que esta es una guía básica y puede haber cambios dependiendo de la versión específica de Kubernetes o de Ubuntu que estés utilizando. Consulta la documentación oficial de Kubernetes para obtener información más detallada y actualizada.

Deja un comentario