Tabla de contenido:

Raspberry Pi 3 "Bramble": 5 pasos
Raspberry Pi 3 "Bramble": 5 pasos

Video: Raspberry Pi 3 "Bramble": 5 pasos

Video: Raspberry Pi 3
Video: Assemble Bramble - Intro to Raspberry Pi-Cluster 2024, Noviembre
Anonim
Frambuesa pi 3
Frambuesa pi 3

¡Implementación de un servidor web Apache2 en una "zarza" escalable Raspberry Pi3 Modelo B a través de un balanceador de carga HAProxy!

Hago mucho desarrollo web y he leído mucho sobre la configuración de redundancias geográficas y equilibradores de carga, así que pensé que era hora de intentar configurarlo todo yo mismo. ¡He tenido el disgusto de que un servidor se caiga y quería evitar que eso vuelva a suceder en el futuro!

Además, se ve genial.

Paso 1: Comenzando

** ACTUALIZAR **

**************************************************************************************************************************

De hecho, hice este Instructable un poco más fácil. ¡Refactoricé el repositorio en Github para instalar, configurar e implementar automáticamente el balanceador de carga HAProxy en su Pi elegido! ¡Menos código, menos edición, menos posibilidades de error y más posibilidades de diversión!

**************************************************************************************************************************

Dirígete a https://www.raspberrypi.org/downloads/raspbian/ y descarga una copia nueva de Raspbian Stretch Lite.

Extraiga el archivo. ZIP y escriba el.img en cada tarjeta MicroSD para cada Pi en su clúster. Usuarios de OSX, una gran herramienta para esto es

Después de grabar el.img en la tarjeta MicroSD, navegue hasta la tarjeta en una nueva ventana del Finder o del Explorador de archivos; esto debería llamarse boot de forma predeterminada. En eso, cree un nuevo archivo llamado SSH. Asegúrese de no poner nada para una extensión de archivo. Esto habilitará SSH en su Rpi3. Expulsa la tarjeta y colócala en tu Pi. Repite este paso para los 2 Pi restantes (o los que termines usando).

Paso 2: Configuración de su hardware

Configuración de su hardware
Configuración de su hardware
Configuración de su hardware
Configuración de su hardware

Este ejemplo asume un clúster Rpi de 3 nodos y la lista de equipos se encuentra a continuación:

  1. Conmutador Ethernet de 5 puertos x 1

      https://www.amazon.ca/gp/product/B00QR6XFHQ/ref=oh…

  2. Adaptador de corriente USB de 5 puertos x 1 **

      https://www.amazon.ca/gp/product/B017R9IJTU/ref=oh…

  3. Cables Ethernet x 4

      https://www.amazon.ca/gp/product/B01J8KFTB2/ref=oh…

  4. Cables de alimentación USB 2. a Micro USB B x 3

      https://www.amazon.ca/gp/product/B019U0V75W/ref=oh…

  5. Raspberry Pi3 Modelo B x 3

      https://www.amazon.ca/gp/product/B01CD5VC92/ref=od…

  6. Disipadores de calor x 6

      https://www.amazon.ca/gp/product/B010ER7UN8/ref=od_aui_detailpages00?ie=UTF8&psc=1

* Es importante que utilice un adaptador de corriente USB que sea capaz de suministrar el voltaje de funcionamiento mínimo requerido a las Raspberry Pi

  • Conecte el cable Ethernet x1 desde su enrutador al conmutador Ethernet.
  • Conecte el cable Ethernet x1 desde su conmutador Ethernet a cada uno de sus Pi
  • Conecte x1 USB a MicroUSB de cada uno de sus Pi al adaptador de corriente USB.
  • Conéctalo todo y mira las luces parpadeantes

Aunque no es necesario, quería que la zarza se viera lo más genial posible y mantuviera todo un poco más ordenado. Decidí comprar 3 de estos estuches apilables en Amazon. No lo incluí en este instructivo ya que _técnicamente_ no es obligatorio, pero por cuestiones de estética, recomendaría recoger algunos.

www.amazon.ca/gp/product/B07BNDFXN9/ref=oh…

** Puntos extra **

Opté por obtener puntos extra de nerd y quería una mejor indicación visual de con qué servidor estaba interactuando. Tenía un protoboard de repuesto y un montón de LED y resistencias, por lo que rápidamente corté algunos tableros para colocarlos sobre los pines GPIO del pi. Idealmente, habría usado algunos encabezados femeninos, pero solo tenía hombres, así que necesitaba recortar algunos cables de puente.

Si también desea seguir esa ruta (porque los LED son increíbles), querrá seguir este tutorial en:

thepihut.com/blogs/raspberry-pi-tutorials/…

Paso 3: Configura tu Pi

Necesitará conocer las direcciones IP de cada una de las Pi en su red local. Si eres un ninja de CLI, esto debería ser fácil. Para todos los demás, puede utilizar un escáner IP gratuito, como SuperScan (OSX). Escriba las direcciones IP.

A continuación, copie su clave pública SSH en cada una de sus Pi usando el siguiente comando desde su terminal:

ssh-copy-id

Ejemplo::

id_copia-ssh -i ~ /.ssh / id_rsa.pub [email protected]

¿No tienes una clave SSH? ¡No hay problema! Solo corre:

ssh-keygen

en su terminal y siga las instrucciones. ¡Casi estámos allí!

Paso 4: instala Ansible

Si has llegado hasta aquí, ¡enhorabuena! Está a solo unos minutos de ejecutar su propia red informática distribuida.

En su computadora / computadora portátil local, querrá instalar Ansible desde la línea de comando. Para los usuarios de Mac, es:

sudo pip instalar ansible

Para todos los demás, consulte https://docs.ansible.com/ansible/latest/installat… para su sistema operativo.

Ahora, querrá clonar este repositorio en una carpeta O descargar el. ZIP y extraerlo en una carpeta en su máquina local.

github.com/Jtilley84/ansible-apache2-webse…

En ese repositorio, verá un archivo hosts.ini. Ábrelo en tu editor de texto favorito (o nano o vim):

[balanceador de carga]

pi-headnode ansible_host = 192.168.0.228 # <--- Cambie esto a la dirección IP de la Pi en la que desea HAProxy.

[nodos]

node2 ansible_host = 192.168.0.16 # <--- Cambie esto a la dirección IP de su segundo Pi

node3 ansible_host = 192.168.0.58 # <--- Cambie esto a la dirección IP de su tercer Pi

¡Eso es todo! Para ejecutar el libro de jugadas, navegue hasta la carpeta del repositorio base y escriba lo siguiente en su terminal:

ansible-playbook playbook.yml

Paso 5: ¡¡Felicitaciones

Image
Image
¡¡Felicidades!!
¡¡Felicidades!!

Acabas de hacer realidad la magia informática. ¡Felicidades!

Esto es solo una prueba de concepto. En este repositorio, el libro de jugadas envía un archivo index.html único a cada uno de los nodos para que pueda depurar visualmente si está funcionando o no. Para un servidor de producción, obviamente querrá editar el libro de jugadas para implementar su sitio.

Si tiene alguna pregunta o comentario, ¡me encantaría escucharlos! ¡Consulte el repositorio de Github y bifurque! Me encantaría ver qué se te ocurre.

Recomendado: