Sommario:

Raspberry Pi 3 "Rovo": 5 passaggi
Raspberry Pi 3 "Rovo": 5 passaggi

Video: Raspberry Pi 3 "Rovo": 5 passaggi

Video: Raspberry Pi 3
Video: Roboter Plattform ROVO mit angebautem Greifarm von HAWE Mattro 2024, Ottobre
Anonim
Raspberry Pi 3
Raspberry Pi 3

Distribuzione di un server Web Apache2 su un "rovo" scalabile Raspberry Pi3 Modello B tramite un bilanciatore del carico HAProxy!

Mi occupo di sviluppo web e ho letto molto sulla configurazione di georidondanza e bilanciamento del carico, quindi ho pensato che fosse ora di provare a configurare tutto da solo. Ho avuto il dispiacere di avere un server inattivo e volevo evitare che ciò accada di nuovo in futuro!

Inoltre, sembra semplicemente fantastico.

Passaggio 1: iniziare

** AGGIORNARE **

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

In realtà ho reso questo Instructable un po 'più semplice. Ho rifattorizzato il repository su Github per installare, configurare e distribuire automaticamente il loadbalancer HAProxy sul Pi scelto! Meno codice, meno modifiche, meno possibilità di errore e più possibilità di divertimento!

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

Vai su https://www.raspberrypi.org/downloads/raspbian/ e scarica una nuova copia di Raspbian Stretch Lite.

Estrai il file. ZIP e scrivi il.img su ciascuna scheda MicroSD per ogni Pi nel tuo cluster. Utenti OSX, un ottimo strumento per questo è

Dopo aver inciso il.img sulla scheda MicroSD, vai alla scheda in una nuova finestra del Finder o di Esplora file: dovrebbe essere chiamato boot per impostazione predefinita. Su questo, crea un nuovo file denominato SSH. Assicurati di non inserire nulla per l'estensione del file. Ciò abiliterà SSH sul tuo Rpi3. Espelli la carta e inseriscila nel tuo Pi. Ripeti questo passaggio per i restanti 2 Pi (o per quanti ne usi).

Passaggio 2: configurazione dell'hardware

Configurazione dell'hardware
Configurazione dell'hardware
Configurazione dell'hardware
Configurazione dell'hardware

Questo esempio presuppone un cluster Rpi a 3 nodi e l'elenco delle apparecchiature è riportato di seguito:

  1. Switch Ethernet a 5 porte x 1

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

  2. Adattatore di alimentazione USB a 5 porte x 1 **

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

  3. Cavi Ethernet x 4

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

  4. Cavi di alimentazione da USB 2. a Micro USB B x 3

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

  5. Raspberry Pi3 Modello B x 3

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

  6. Dissipatori x 6

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

* È importante utilizzare un adattatore di alimentazione USB in grado di fornire ai Raspberry Pi la loro tensione operativa minima richiesta

  • Collega il cavo Ethernet x1 dal router allo switch Ethernet.
  • Collega il cavo Ethernet x1 dal tuo switch Ethernet a ciascuno dei tuoi Pi
  • Collega x1 USB-to-MicroUSB da ciascuno dei tuoi Pi all'adattatore di alimentazione USB.
  • Collega tutto e guarda le luci lampeggianti

Anche se non necessario, ma volevo che il rovo fosse il più bello possibile e tenesse tutto un po' più ordinato. Ho deciso di prendere 3 di queste custodie impilabili da Amazon. Non l'ho incluso in questo istruibile in quanto _tecnicamente_ non è richiesto, ma per i punti estetici consiglierei di prenderne un po'.

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

** Punti bonus **

Ho optato per punti nerd extra e volevo una migliore indicazione visiva di quale server stavo interagendo. Avevo della scheda prototipi di scorta in giro e un mucchio di LED e resistori, quindi ho rapidamente messo insieme alcune schede da posizionare sopra i pin GPIO del pi. Idealmente, avrei usato alcune intestazioni femminili, ma avevo solo un maschio, quindi avevo bisogno di tagliare alcuni fili dei ponticelli.

Se vuoi seguire anche tu quella strada (perché i LED sono fantastici), ti consigliamo di seguire questo tutorial su:

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

Passaggio 3: configura i tuoi Pi

Dovrai conoscere gli indirizzi IP di ciascuno dei Pi sulla tua rete locale. Se sei un ninja della CLI, dovrebbe essere facile. Per tutti gli altri, puoi utilizzare uno scanner IP gratuito, come SuperScan (OSX). Annotare gli indirizzi IP.

Quindi, copia la tua chiave pubblica SSH su ciascuno dei tuoi Pi utilizzando il seguente comando dal tuo terminale:

ssh-copy-id

Esempio::

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

Non hai una chiave SSH? Nessun problema! Corri:

ssh-keygen

nel tuo terminale e segui le istruzioni. Ci siamo quasi!

Passaggio 4: installa Ansible

Se sei arrivato fin qui, congratulazioni! Sei a pochi minuti dall'esecuzione della tua rete informatica distribuita.

Sul tuo computer/laptop locale, ti consigliamo di installare Ansible dalla riga di comando. Per gli utenti Mac, è:

sudo pip install ansible

Per tutti gli altri, fai riferimento a https://docs.ansible.com/ansible/latest/installat… per il tuo sistema operativo.

Ora, ti consigliamo di clonare questo repository in una cartella OPPURE scaricare il file. ZIP ed estrarlo in una cartella sul tuo computer locale.

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

In quel repository vedrai un file hosts.ini. Aprilo nel tuo editor di testo preferito (o nano o vim):

[bilanciatore di carico]

pi-headnode ansible_host=192.168.0.228 # <--- Cambialo nell'indirizzo IP del Pi su cui vuoi HAProxy.

[nodi]

node2 ansible_host=192.168.0.16 # <--- Cambia questo con l'indirizzo IP del tuo secondo Pi

node3 ansible_host=192.168.0.58 # <--- Cambia questo con l'indirizzo IP del tuo terzo Pi

Questo è tutto! Per eseguire il playbook, vai alla cartella del repository di base e digita quanto segue nel tuo terminale:

ansible-playbook playbook.yml

Passaggio 5: congratulazioni

Image
Image
Congratulazioni!!
Congratulazioni!!

Hai appena realizzato la magia del computer. Congratulazioni!

Questa è solo una prova del concetto. In questo repository, il playbook invia un file index.html univoco a ciascuno dei nodi in modo da poter eseguire il debug visivo indipendentemente dal fatto che funzioni o meno. Per un server di produzione, dovresti ovviamente modificare il playbook per distribuire il tuo sito.

Se hai domande o commenti, mi piacerebbe sentirli! Per favore controlla il repository Github e vai via! Mi piacerebbe vedere cosa ti viene in mente.

Consigliato: