ICM / how-to-do / Cómo montar una Kubernetes en una Ubuntu 20.04

Cómo montar una Kubernetes en una Ubuntu 20.04

22 octubre 2021 | Aleix Abrie

Tal y como os hemos contado en entradas del blog anteriores, Kubernetes es un sistema de administración de contenedores gratuito y de código abierto que proporciona una plataforma para la automatización de la implementación, el escalado y las operaciones de los contenedores de aplicaciones en grupos de equipos host. Hoy vamos a ver cómo instalar Kubernetes en Ubuntu 20.04.

Instalación de Kubernetes

Para una instalación de Ubuntu en Kubernetes práctica, vamos a utilizar un clúster de dos nodos que formaremos en este artículo y constará de un nodo maestro y un nodo esclavo.

Ambos nodos necesitan tener Kubernetes instado. Lo primero que vamos a hacer es instalar Docker en ambos y para ello basta con ejecutar el siguiente comando:

sudo apt update && sudo apt install docker.io

Para verificar que docker está instalado, pueden ejecutar el siguiente comando:

docker version

 Ahora vamos a proceder a habilitar docker en ambos nodos:

sudo systemctl enable docker

El siguiente paso es añadir la clave de Kubernetes en ambos nodos, esto lo hacemos con el siguiente comando:

 curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add

 Ahora deberemos añadir el repositorio de Kubernetes para poder instalarlo en cada nodo:

sudo apt-add-repository «deb http://apt.kubernetes.io/ kubernetes-xenial main»

El último paso en el proceso de instalación es instalar Kubeadm en ambos nodos a través del comando:

sudo apt install kubeadm

Podemos verificar el número de versión de Kubeadm con el siguiente comando:

kubeadm versión

 Despliegue Kubernetes en Ubuntu

Ahora que ya tenemos los dos nodos con docker y con Kubeadm instalados, vamos a realizar un despliegue de Kubernetes en Ubuntu.

Para ello, lo primero que hay que hacer es desactivar la memoria de intercambio (o memoria swap), ya que Kubernetes no funciona correctamente si está activada. Se puede deshabilitar con el comando:

sudo swapoff -a

El siguiente paso es ejecutar el siguiente comando en el nodo maestro para darle un nombre de host único:

sudo hostnamectl set-hostname master-node

Mientras que para el nodo esclavo debemos ejecutarlo con otro nombre de host (ya que debe ser único):

sudo hostnamectl set-hostname slave-node

Una vez cambiados los nombres de host, vamos a inicializar el nodo maestro ejecutando el comando (el proceso puede tardar varios minutos):

sudo Kubeadm init –pod-network-cidr = 10.244.0.0/16

La salida de este comando es muy importante, por lo que deberemos anotar la información que nos devuelva, pues contiene la ip, el token y el hash que usaremos más tarde.

Para comenzar a usar tu clúster, necesitan ejecutar lo siguiente como usuario regular:

mkdir -p $HOME/.kube

sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

sudo chown $(id -u):$(id -g) $HOME/.kube/config

Ahora pueden unirse a cualquier número de máquinas ejecutando lo siguiente en cada nodo como usuarios root:

kubeadm join “tuip” –token “tutoken” –discovery-token-ca-cert-hash sha256:”tuhash”

En donde reemplazaremos la información de “tutoken”, “tuhash” y “tuip” por la información anotada anteriormente.

Conclusión

Como podéis ver, montar un clúster de Kubernetes en una Ubuntu 20.04 no es muy complicado y en unos pocos minutos puedes tenerlo configurado… En la siguiente entrada de blog relacionada con Kubernetes, vamos a ver los pasos para generar una aplicación sencilla y cómo poder hacer el deploy dentro del clúster de Kubernetes.