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.
Ingeniero en Informática, me encanta crear cosas o arreglarlas y darles una nueva vida. Escritor y poeta. Más de 20 APPs publicadas y un libro en Amazon.