@media screen and (min-width: 580px) { .flotantewhatsapp{ display:none; } }

Compartir por WhatsApp

kubernetes-instalar-clusterhat-raspberry-pi-zero-2w-4

Kubernetes: Instalar ClusterHat Raspberry Pi Zero 2W

Kubernetes: Instalar ClusterHat Raspberry Pi Zero 2W

Después de mostraros como montar un NAS con RaspBerry Pi, hoy quiero enseñaros otro proyecto interesante con RaspBerry Pi, en este caso usaremos una RaspBerry Pi 4 y varias RaspBerry Pi Zero 2W, para formar un clúster para usarlo como laboratorio de containers.

Lo que busco con este LAB es reducir el espacio, el coste energético y el ruido, que ahora teletrabajando se me hace muy cuesta arriba.

Agarraros que viene manual muyyyyy extenso 🙂

El material que vamos a utilizar para este laboratorio de containers es:

  • 1 x RaspBerry Pi 4 de 4GB de RAM
  • 4 x RaspBerry Pi Zero 2W
  • 5 x MicroSD de 32GB
  • 1 x Alimentador de corriente USB-C
  • 1. x Placa ClusterHat 8086 v.2 que incluye conector USB a RPi4
  • 1 x Carcasa transparente sobredimensionada especial para albergar ClusterHat
  • Ratón y teclado USB
  • Monitor para la primera instalación con cable HDMI
  • 1 x Adaptador Micro HDMI a HDMI
  • 1 x Cable Ethernet
  • Y yo he añadido disipadores para RPi4 y un ventilador de 30mmx30mm de 5V
  • 1 x Lector de tarjetas MicroSD para instalar las imágenes de sistema operativo

En la web del proyecto podéis encontrar los vendedores, donde podréis encontrar todas las piezas sin problema (si compráis en Inglaterra, recordar los aranceles)

kubernetes-instalar-clusterhat-raspberry-pi-zero-2w-4

Preparar software ClusterHat para RaspBerrys

El software que vamos a utilizar es el del proyecto que os dejo el enlace un poco más abajo. Como podéis ver en la imagen, hay una imagen para cada tarjeta. Yo bajaré la imagen CNAT para la RaspBerry Pi 4 y para cada Zero 2W una imagen Px, porque no quiero que sean un nodo de mi red cada Pi Zero, si no queréis eso, simplemente bajar la versión CBRIDGE.

A nivel de seguridad, es mejor usar CNAT, porque controlaréis el sistema con el controlador, que ese role lo tiene la RaspBerry Pi 4, y el resto no estará expuesto. Y simplifica un poco la gestión y configuración del sistema…

PROYECTO: https://clusterctrl.com/setup-software

kubernetes-instalar-clusterhat-raspberry-pi-zero-2w-0

Podéis ver un ejemplo de lo descargado:

kubernetes-instalar-clusterhat-raspberry-pi-zero-2w-1

Para quemar las imágenes uso Balena:

kubernetes-instalar-clusterhat-raspberry-pi-zero-2w-2

Y repito el proceso en cada imagen:

kubernetes-instalar-clusterhat-raspberry-pi-zero-2w-3

Con esto ya tenemos todo preparado a nivel de software…

Montar ClusterHat (RaspBerry Pi Zero 2W y RaspBerry Pi 4) en carcasa

A nivel de hardware os voy a mostrar como es la instalación de todos los componentes, que realmente es sencilla. De hecho, no hay instrucciones en la carcasa, ni en la placa, pero la lógica te explica como ensamblar el conjunto.

La carcasa viene con plásticos protectores que deberemos retirar:

kubernetes-instalar-clusterhat-raspberry-pi-zero-2w-5

Colocamos los tornillos pequeños de la siguiente forma:

kubernetes-instalar-clusterhat-raspberry-pi-zero-2w-6

El soporte es para la RaspBerry Pi 4 que va en la base:

kubernetes-instalar-clusterhat-raspberry-pi-zero-2w-7

Colocamos nuestra RaspBerry Pi 4:

kubernetes-instalar-clusterhat-raspberry-pi-zero-2w-8

A continuación, colocamos el segundo grupo de tornillos:

kubernetes-instalar-clusterhat-raspberry-pi-zero-2w-9

Colocamos con cuidado la placa ClusterHat 8086 en los pines y tornillos:

kubernetes-instalar-clusterhat-raspberry-pi-zero-2w-10

Aquí la veis colocada:

kubernetes-instalar-clusterhat-raspberry-pi-zero-2w-11

Colocáis el resto de soportes y la primera pieza lateral a colocar es la de los USB. Veréis que sólo ajusta bien de una de sus caras, y es importante para no tener problemas:

kubernetes-instalar-clusterhat-raspberry-pi-zero-2w-12

Ahora yo he colocado las RaspBerry Pi Zero 2W y sus tarjetas, colocarlas en un orden como hayáis instalado el software en cada tarjeta:

kubernetes-instalar-clusterhat-raspberry-pi-zero-2w-13-1

Quedaría de la siguiente forma:

kubernetes-instalar-clusterhat-raspberry-pi-zero-2w-14

Colocamos la tapa y el cable USB (que es opcional, creo que depende del alimentador que utilices):

kubernetes-instalar-clusterhat-raspberry-pi-zero-2w-15

Yo de manera opcional he colocado disipadores de calor y un ventilador de 5V. Se calientan algo, así que no vendrán nada mal:

kubernetes-instalar-clusterhat-raspberry-pi-zero-2w-16

Ya tendríamos montado el hardware. Una vez conectado a nuestro ratón, teclado y monitor, es un RaspBian que te solicita 4 configuraciones básicas para completar la instalación (contraseña usuario, red wifi…). La contraseña por defecto es:

Pero en este proceso, cambiáis la contraseña, como indico.

kubernetes-instalar-clusterhat-raspberry-pi-zero-2w-17

Comandos básicos ClusterHat

Desde la placa ClusterHat se puede controlar la energía de las Pi Zero de la siguiente forma. Por defecto, el clusterhat está apagado:

La iluminación de las Pi Zero cambiará según el comando y podréis identificar cada Zero:

kubernetes-instalar-clusterhat-raspberry-pi-zero-2w-18

Habilitar SSH en RaspBian de ClusterHat

Para acceder a la Raspberry Pi 4 y empezar a gestionar el equipo usaremos el comando, lanzado como root:

Opción 3 Interface Options -> P2 SSH -> Enable

Luego lanzamos los comandos:

Y ya podemos gestionar nuestra Raspberry Pi 4 remotamente, pero no las Pi Zero. Así que con el cluster arrancado, vamos a generar las claves SSH y propagarlas por los nodos.

También hay que generar un fichero sin extensión llamado SSH en la partición BOOT de cada tarjeta MicroSD de nuestras Zero (Windows para esto es la mejor opción):

kubernetes-instalar-clusterhat-raspberry-pi-zero-2w-19-1

Primero os explico la red…

Red de ClusterHat

Con el acceso SSH ya tenemos control sobre el cluster. Así que lo primero es asegurarnos que nuestras Pi Zero están encendidas con (esto es como darle al botón de encendido de un ordenador):

Vuestra RaspBerry Pi 4, que hace de controler, tendrá 3 Ips:

  • Wifi si la habéis configurado
  • El cable Ethernet tendrá otra por DHCP en mi caso (ya la colocaremos en estática o la reservamos dentro del rango)
  • Y la IP como controler del clúster 172.19.181.254

Los equipos los podéis gestionar con un px.local, por ejemplo hacéis un ping a cada Pi Zero:

Configurar SSH de ClusterHat

He hecho dos cosas adicionales antes de empezar, cambiar el hostname de la Pi4 y agregar al fichero host el nombre de las Zero:

Para que los equipos se entiendan entre ellos vamos a generar las claves SSH desde el controler (Pi 4) y luego comprobamos que se ha generado:

Guardamos la clave a buen recaudo copiándola para reutilizarla luego. Generamos un fichero “config” con el siguiente contenido:

Copiamos la clave en los nodos con los siguientes comandos desde la RPi4:

Recordar que si no habéis cambiado la password del usuario pi de las Zero es:

Comprobamos los nodos, si nos podemos conectar directamente:

Yo aprovecho para cambiar la passwd de todos los usuarios en las Pi Zero.

Instalación cluster Kubernetes en ClusterHat RaspBerry Zero 2W

Y llegamos al final del trabajo…ya tenemos interconexión entre los nodos, sabemos encenderlos, cómo se comunican y cómo interactuar entre ellos. Así que buscamos si hay actualizaciones en todos los nodos:

Una vez que tenemos todo actualizado, vamos con la instalación de Kubernetes.

Instalamos el paquete ntpdate en todos los nodos:

La hora de la RPi4 y de las Zero no coincide y hay que arreglarlo, con raspi-config podéis hacerlo(Opción 5 -> Timeline)

Modificamos el fichero hosts de los nodos:

Editamos el fichero config.txt del boot, para optimizar las raspberrys para que dediquen la memoria a procesador y no a la parte gráfica:

El problema de Kubernetes, es que es sensible a las latencias, así que no está de menos, revisar cómo se comporta nuestra tarjeta:

Para instalar Kubernetes usaré el proyecto k3s, que es un poco más liviano que k8s y no tiene tanta dependencia de recursos. Como base de datos por defecto usa SQLite, aunque podíamos usar MariaDB, PostgreSQL o MySQL, por ejemplo:

Necesitamos garantizar ciertos requisitos:

Hay que modificar para que admita cgroups Raspbian, creando el fichero /boot/cmdline.txt:

En mi caso tuve que añadir a la línea:

Para instalar k3s en el controler podemos lanzar la instalación en nuestra RPi4 con el siguiente comando:

Nos instala un balanceador y todo lo necesario para completar el clúster sin necesidad de instalar nada (CoreDNS, Traefik Ingress Controller y Service Load Balancer).

Si todo está OK:

Para los agentes usaremos:

El valor mynodetoken lo podéis encontrar en:

Eliminar k3s

Para eliminar es muy sencillo, en el controller:

Y en los agentes:

Y hasta aquí tenemos toda esta instalación que parece compleja, pero no lo es tanto. Compartir, que es gratis y haré más entradas relacionadas.

Configurar FAN en ClusterHat RaspBerry Pi

Para completar la instalación he comprado un ventilador de 30mmx30mm que he conectado a la tapa. Se configura desde /boot/config.txt, añadiendo la siguiente línea:

 

Te ha gustado la entrada SGUENOS EN TWITTER O INVITANOS A UN CAFE?

El Blog de Negu

Acerca de Raul Unzue Pulido

Administrador de sistemas virtuales e infraestructuras IT, linuxero y entusiasta de la tecnología.

Compruebe también

kubernetes-instalar-balanceador-metallb

Kubernetes: Instalar balanceador MetalLB

Kubernetes: Instalar balanceador MetalLB MetalLB es una implementación de LoadBalancer para clústeres Kubernetes que se …

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

cinco × cuatro =

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.

ACEPTAR
Aviso de cookies
Blog Maquinas Virtuales - El Blog de Negu