StorageReview.com

Instalación de Docker Swarm en un cliente ligero

Empresa  ◇  InicioLab

Como usuario con un presupuesto limitado para mi laboratorio doméstico, el cliente ligero HP t730 me resulta perfecto. Por suerte, gané uno en un sorteo reciente de StorageReview en su subreddit . El t730 cuenta con suficiente RAM y CPU para ser versátil y adaptarse a diversos usos, sin ser excesivo. Puede utilizarse para alojar Pi-Hole, como router/cortafuegos PfSense o, como en este caso, para conectarlo a Docker Swarm.

Instalación de Docker Swarm

Si no está familiarizado con Docker o los contenedores en su conjunto, puede pensar en ellos como máquinas virtuales ligeras que se ejecutan en casi cualquier cosa. Si bien esta es una simplificación excesiva importante, le brinda suficiente información sin ser abrumador. Swarm es una extensión de Docker. Proporciona una forma simple e integrada de "orquestar" contenedores, desplegándolos en múltiples nodos, administrando recursos y otras cosas de esa naturaleza.

En mi infraestructura actual, ya tenía 5 nodos funcionando en Swarm: cuatro Raspberry Pi B4 y un Dell Optiplex 7040. Esto proporciona una excelente base para empezar. Sin embargo, solo necesitas un nodo para seguir este tutorial de Docker Swarm. Cabe mencionar que, si bien yo conseguí este prácticamente gratis, se pueden encontrar por 200 dólares o menos en eBay si buscas y negocias un poco.

Instalación del sistema operativo Docker Swarm

Para empezar, instalé mi distribución de Linux preferida, Debian Buster, en el HP t730. A continuación, tuve que grabar el instalador de Debian en una unidad flash USB. Una buena opción para grabar la imagen es Balena Etcher , que es gratuito y fácil de usar. Una vez hecho esto, comenzaremos el proceso de instalación.

CV t730Figura 1: Instalación del nuevo SSD

Primero, reemplacé la unidad SATA M.2 de 32 GB del t730 por una de 256 GB . Sin embargo, sin saberlo en ese momento, esto acabaría causando problemas. Resulta que algunas interfaces de firmware tienen errores y a veces no funcionan con unidades que no son del fabricante. La unidad que instalé era una de esas que no funcionan. Para solucionar esto, al instalar Debian tuve que configurar Grub para que se instalara como extraíble; es posible que tengas que pasar por esto o no, dependiendo de la unidad que instales.

Tenga en cuenta que 256 GB no son necesarios para lo que estamos haciendo hoy, solo los tenía a mano. Recomiendo al menos 64 GB, pero eso puede limitar la cantidad de datos que puede almacenar en el disco.

Después de instalar la unidad, inicié la pantalla de instalación de Debian. Hice una instalación básica, eligiendo el idioma, la distribución del teclado, etc. Para la configuración del usuario, hago algo específico. No introduzco ninguna contraseña para el usuario raíz, eso deshabilita la cuenta. Y creo un nuevo usuario llamado administrador que tiene una contraseña extremadamente larga que guardo en un administrador de contraseñas. Esto mantiene el sistema lo más seguro posible.

Para la partición, elegí un diseño bastante simple, una partición de arranque de 1 GB y el resto de la unidad asignada a la partición raíz. Elegí FAT32 y ext4 respectivamente para los sistemas de archivos, prefiero ext4 a algo como Btrfs debido a la estabilidad y velocidad, incluso si carece de algunas de las características de vanguardia de los nuevos sistemas de archivos.

Cuando llegué a la pantalla de selección de paquetes base, deseleccioné todo menos el servidor OpenSSH. Mi razonamiento para esto es que quiero que el sistema base sea lo más liviano posible, y también es sin interfaz gráfica de usuario, ya que no tiene una GUI. Pero, para completar este tutorial, todo lo que necesita es el servidor OpenSSH, puede instalar cualquier paquete adicional que necesite.

Figura 2: Paquetes que se están instalando

Si te encuentras con el error del firmware EFI que mencioné antes, la wiki de Debian tiene una buena guía sobre cómo solucionarlo . Después de instalar Grub, reiniciaremos y desconectaremos la memoria USB. Si todo va bien, arrancarás en una terminal (TTY) o en una interfaz gráfica (GUI), según lo que hayas elegido instalar.

Configuración posterior a la instalación

Una vez finalizada la instalación, comenzamos a configurar el sistema. He creado un playbook de Ansible que automatiza este proceso. Para simplificar esta guía, ejecutaremos los comandos manualmente.

# Esto instala los paquetes necesarios para completar los pasos futurossudo apt actualizacionesudo apt install gnupg ca-certificates apt-transport-https curl lsb-release -y# esto agrega la clave que apt necesita para verificar las firmas en los paquetes Dockercurl -fsSL https://download .docker.com/linux/debian/gpg | sudo gpg –dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg# Y para agregar el repositorio que instala Docker ejecute esto:echo “deb [arch=amd64 firm-by=/usr/share/keyrings/ docker-archive-keyring.gpg] https://download.docker.com/linux/debian \ $(lsb_release -cs) estable” | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Una vez hecho esto, debemos instalar Docker y habilitar el servicio.

sudo apt install docker-ce

sudo systemctl habilitar -ahora ventana acoplable

¡Ahora estamos listos para usar Docker para ejecutar servicios!

Uso de Docker Swarm en HP t730

La primera vez que use Swarm requiere que inicialice el swarm. Repasemos los comandos a continuación. Si ya tiene un enjambre, salte este paso.

inicio de enjambre sudo docker

Si desea verificar que funcionó, pegue este comando en su terminal:

if [ “$(sudo docker info | grep Swarm | sed 's/Swarm: //g')” == “inactive” ]; then echo false;else echo true;fi

Si su host se ejecuta en modo Swarm, ese comando debería devolver 'true'.

Ejecutando nuestro primer servicio

Con Swarm, hay dos formas de crear servicios.

  1. servicio docker crear esto es similar a Docker Run
  2. despliegue de la pila acoplable esto es similar a docker-componer

En general, desea utilizar la implementación de la pila docker porque puede reproducir fácilmente las pilas.

Pero solo para verificar que funciona, usar docker service create está bien.

sudo docker servicio crear -p 3000:80 httpd

Puede que tarde un poco en terminar, pero una vez que el comando se haya ejecutado, puedes acceder a la IP del nodo en el puerto 3000. Si no sabes cuál es tu IP, ejecuta hostname -I. En mi caso, tuve que acceder a 192.168.19.73:3000 . Deberías ver una pantalla que diga ¡Funciona!

Cierre

El HP t730 es un excelente miniordenador tanto para principiantes como para usuarios experimentados de laboratorios caseros. Admite una gran variedad de usos y ofrece un rendimiento bastante bueno para su precio , que en mi caso fue de tan solo 15 dólares por el envío (¡gracias a StorageReview!). Espero que este artículo les haya resultado útil, ya sea para aprender sobre nuevas tecnologías o para inspirarse a crear su propio laboratorio casero.

-Ethan Edwards

Clientes ligeros HP t730 en eBay

Interactuar con StorageReview

Boletín informativo | YouTube | Podcast iTunes / Spotify | Instagram | Twitter | TikTok | Canal RSS

Autor Invitado