En esta sección, aprenderás cómo configurar un clúster de Kubernetes desde cero. Este proceso incluye la instalación de las herramientas necesarias, la configuración de los nodos y la verificación de que el clúster esté funcionando correctamente.

Objetivos de Aprendizaje

  • Entender los requisitos previos para configurar un clúster de Kubernetes.
  • Instalar y configurar kubeadm, kubelet y kubectl.
  • Inicializar el clúster y unir nodos al clúster.
  • Verificar la configuración del clúster.

Requisitos Previos

Antes de comenzar, asegúrate de tener:

  • Un sistema operativo compatible (preferiblemente Ubuntu 20.04 o CentOS 7).
  • Acceso a al menos dos máquinas (una para el nodo maestro y otra para el nodo trabajador).
  • Conexión a Internet para descargar las herramientas necesarias.
  • Privilegios de superusuario (root) en las máquinas.

Paso 1: Preparar las Máquinas

Actualizar el Sistema

Primero, actualiza los paquetes de tu sistema operativo:

sudo apt-get update && sudo apt-get upgrade -y

Desactivar el Swap

Kubernetes requiere que el swap esté desactivado. Puedes desactivarlo temporalmente con:

sudo swapoff -a

Para desactivarlo permanentemente, edita el archivo /etc/fstab y comenta la línea que contiene la entrada de swap.

Configurar el Firewall

Permite el tráfico necesario para Kubernetes:

sudo ufw allow 6443/tcp
sudo ufw allow 2379:2380/tcp
sudo ufw allow 10250:10252/tcp
sudo ufw allow 10255/tcp

Paso 2: Instalar Docker

Kubernetes utiliza Docker como su motor de contenedores. Instala Docker con los siguientes comandos:

sudo apt-get update
sudo apt-get install -y docker.io
sudo systemctl enable docker
sudo systemctl start docker

Paso 3: Instalar kubeadm, kubelet y kubectl

Añadir la Fuente del Repositorio de Kubernetes

Añade la clave GPG y el repositorio de Kubernetes:

sudo apt-get update
sudo apt-get install -y apt-transport-https ca-certificates curl
sudo curl -fsSL https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list

Instalar las Herramientas

Instala kubeadm, kubelet y kubectl:

sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl

Paso 4: Inicializar el Clúster

Inicializar el Nodo Maestro

En el nodo maestro, ejecuta el siguiente comando para inicializar el clúster:

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

Este comando configurará el nodo maestro y te proporcionará un comando kubeadm join que usarás para unir los nodos trabajadores al clúster.

Configurar kubectl para el Usuario No Root

Configura kubectl para tu usuario no root:

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

Instalar una Red de Pods

Instala una red de pods (por ejemplo, Calico):

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

Paso 5: Unir Nodos Trabajadores al Clúster

En cada nodo trabajador, ejecuta el comando kubeadm join que obtuviste al inicializar el nodo maestro. Debe tener un aspecto similar a este:

sudo kubeadm join <master-ip>:6443 --token <token> --discovery-token-ca-cert-hash sha256:<hash>

Paso 6: Verificar el Clúster

Verifica que todos los nodos estén unidos y funcionando correctamente:

kubectl get nodes

Deberías ver una lista de todos los nodos en tu clúster con el estado Ready.

Ejercicio Práctico

Ejercicio 1: Configurar un Clúster de Kubernetes

  1. Configura dos máquinas virtuales o instancias en la nube.
  2. Sigue los pasos anteriores para instalar Docker, kubeadm, kubelet y kubectl.
  3. Inicializa el nodo maestro y une el nodo trabajador.
  4. Verifica que el clúster esté funcionando correctamente.

Solución del Ejercicio 1

  1. Preparar las Máquinas: Actualiza el sistema, desactiva el swap y configura el firewall en ambas máquinas.
  2. Instalar Docker: Ejecuta los comandos de instalación de Docker en ambas máquinas.
  3. Instalar kubeadm, kubelet y kubectl: Añade la fuente del repositorio de Kubernetes e instala las herramientas en ambas máquinas.
  4. Inicializar el Nodo Maestro: Ejecuta kubeadm init en el nodo maestro y configura kubectl.
  5. Unir Nodos Trabajadores: Ejecuta el comando kubeadm join en el nodo trabajador.
  6. Verificar el Clúster: Usa kubectl get nodes para verificar que ambos nodos estén en estado Ready.

Conclusión

En esta sección, has aprendido cómo configurar un clúster de Kubernetes desde cero. Has instalado las herramientas necesarias, inicializado el nodo maestro, unido nodos trabajadores y verificado la configuración del clúster. Con esta base, estás listo para explorar los componentes principales de Kubernetes en el siguiente módulo.

Curso de Kubernetes

Módulo 1: Introducción a Kubernetes

Módulo 2: Componentes Principales de Kubernetes

Módulo 3: Gestión de Configuración y Secretos

Módulo 4: Redes en Kubernetes

Módulo 5: Almacenamiento en Kubernetes

Módulo 6: Conceptos Avanzados de Kubernetes

Módulo 7: Monitoreo y Registro

Módulo 8: Seguridad en Kubernetes

Módulo 9: Escalado y Rendimiento

Módulo 10: Ecosistema y Herramientas de Kubernetes

Módulo 11: Estudios de Caso y Aplicaciones del Mundo Real

Módulo 12: Preparación para la Certificación de Kubernetes

© Copyright 2024. Todos los derechos reservados