Skip to content

Instalando y Configurando MicroK8s para Nuestro Clúster

Con nuestro servidor Ubuntu listo y los DNS públicos apuntando a él, ha llegado el momento de construir el motor que orquestará todos nuestros servicios: nuestro clúster de Kubernetes.

Para este tutorial, hemos elegido MicroK8s, una distribución de Kubernetes ligera, robusta y desarrollada por Canonical (la misma empresa detrás de Ubuntu). Es perfecta para entornos de desarrollo, edge computing y, como en nuestro caso, para montar un clúster de un solo nodo de forma rápida y sencilla.

  1. Instalar MicroK8s con Snap Nos conectamos a nuestro servidor por SSH y ejecutamos un solo comando para instalar MicroK8s.

    Terminal window
    sudo snap install microk8s --classic --channel=1.32
    • --classic: Permite que la aplicación tenga acceso al sistema como un paquete tradicional, lo cual es necesario para que MicroK8s gestione la red y otros recursos.
    • --channel=1.32: Fijamos la versión de Kubernetes a la 1.32. Esto es una buena práctica para garantizar la estabilidad y evitar actualizaciones automáticas inesperadas que podrían romper nuestra configuración.
    Instalando MicroK8s con Snap
  2. Configurar Permisos de Usuario Por defecto, los comandos de MicroK8s requieren sudo. Para evitar esto y facilitar la administración, añadiremos nuestro usuario actual al grupo microk8s.

    Terminal window
    sudo usermod -a -G microk8s $USER
    mkdir -p ~/.kube
    chmod 0700 ~/.kube
    su - $USER
    • usermod: Añade (-a) nuestro usuario ($USER) al grupo (-G) microk8s.
    • mkdir y chmod: Crean el directorio .kube con los permisos adecuados para almacenar la configuración del clúster.
    • su - $USER: Reinicia nuestra sesión de shell para que los nuevos permisos de grupo se apliquen. Deberás introducir tu contraseña.
    Configurando permisos de usuario para MicroK8s
  3. Verificar el Estado del Clúster Una vez que los permisos están aplicados, verificamos que el clúster esté completamente operativo.

    Terminal window
    microk8s status --wait-ready

    El flag --wait-ready le dice al comando que espere hasta que todos los servicios principales de Kubernetes estén en funcionamiento. El mensaje microk8s is running confirma que nuestro clúster de un solo nodo está vivo y listo para recibir órdenes.

    Verificando el estado del clúster de MicroK8s

Parte 2: Configurando los Addons Esenciales

Section titled “Parte 2: Configurando los Addons Esenciales”

Un clúster de Kubernetes “vacío” no es muy útil. Necesitamos añadirle funcionalidades clave. En MicroK8s, esto se hace habilitando “addons”. Vamos a configurar los tres más importantes para nuestro proyecto.

Terminal window
microk8s enable dns
microk8s enable metallb
microk8s enable hostpath-storage
Habilitando los addons dns, metallb y hostpath-storage

Vamos a desglosar qué hace cada uno de estos comandos.

Addon 1: DNS

Addon 2: MetalLB (Load Balancer)

Addon 3: Hostpath Storage (Almacenamiento Persistente)

Parte 3: Visualizando Nuestro Clúster con Lens

Section titled “Parte 3: Visualizando Nuestro Clúster con Lens”

Administrar Kubernetes desde la línea de comandos es potente, pero a veces una interfaz gráfica ayuda a visualizar el estado del clúster. Lens es considerado el IDE para Kubernetes por excelencia.

  1. Descargar e Instalar Lens Visita la página web oficial de Lens y descarga el instalador para tu sistema operativo.

    Obteniendo el kubeconfig de MicroK8s
  2. Obtener el Archivo de Configuración (Kubeconfig) Para que Lens (o cualquier otra herramienta) pueda conectarse a nuestro clúster, necesita un archivo de configuración. Lo obtenemos con este comando en nuestro servidor:

    Terminal window
    microk8s config

    Esto imprimirá el contenido del archivo kubeconfig en la terminal. Cópialo todo.

    Obteniendo el kubeconfig de MicroK8s
  3. Añadir el Clúster a Lens Abre Lens y haz clic en el icono + para añadir un nuevo clúster, o selecciona la opción “Add kubeconfig by pasting”.

    Añadiendo un nuevo clúster en Lens
  4. Pegar la Configuración Pega el contenido del kubeconfig que copiaste del servidor en el cuadro de texto y haz clic en “Add Clusters”.

    Pegando el kubeconfig en Lens
  5. Explorar el Clúster ¡Listo! Lens se conectará a tu clúster de MicroK8s. Ahora puedes navegar visualmente por los nodos, workloads, pods y todos los recursos de tu clúster, viendo su estado en tiempo real.

    Visualizando el nodo del clúster en Lens

¡Felicidades! Has construido y configurado con éxito un clúster de Kubernetes funcional. No solo has instalado el motor, sino que también le has añadido las piezas clave para el descubrimiento de servicios (DNS), la exposición a la red (MetalLB) y la persistencia de datos (Hostpath Storage).