Cuprins:

Raspberry Pi 3 „Bramble”: 5 pași
Raspberry Pi 3 „Bramble”: 5 pași

Video: Raspberry Pi 3 „Bramble”: 5 pași

Video: Raspberry Pi 3 „Bramble”: 5 pași
Video: Assemble Bramble - Intro to Raspberry Pi-Cluster 2024, Octombrie
Anonim
Raspberry Pi 3
Raspberry Pi 3

Implementarea unui server web Apache2 pe un „bramble” scalabil Raspberry Pi3 Model B prin intermediul unui echilibrator de încărcare HAProxy!

Fac o mulțime de dezvoltare web și am citit mult despre configurarea geo-redundanțelor și a echilibratoarelor de încărcare, așa că m-am gândit că a sosit momentul să fac o mișcare pentru a le configura singur. Am avut nemulțumirea că am coborât un server și am vrut să împiedic acest lucru să se repete în viitor!

În plus, arată doar cool.

Pasul 1: Introducere

** ACTUALIZAȚI **

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

De fapt, am făcut acest Instructable un pic mai ușor. Am refactorizat repo pe Github pentru a instala, configura și implementa automat balansatorul de încărcare HAProxy pe Pi-ul ales! Mai puțin cod, mai puține editări, mai puține șanse de eroare și mai multe șanse de distracție!

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

Accesați https://www.raspberrypi.org/downloads/raspbian/ și descărcați o copie nouă a Raspbian Stretch Lite.

Extrageți fișierul. ZIP și scrieți.img pe fiecare card MicroSD pentru fiecare Pi din cluster. Utilizatori OSX, un instrument excelent pentru acest lucru este

După ce ați gravat fișierul.img pe cardul MicroSD, navigați la card într-o nouă fereastră Finder sau File Explorer - aceasta ar trebui să fie denumită boot în mod implicit. În acest sens, creați un nou fișier numit SSH. Asigurați-vă că nu puneți nimic pentru o extensie de fișier. Aceasta va activa SSH pe Rpi3. Scoateți cardul și plasați-l în Pi. Repetați acest pas pentru restul de 2 Pi (sau oricât de multe veți ajunge).

Pasul 2: Configurarea hardware-ului dvs

Configurarea hardware-ului dvs
Configurarea hardware-ului dvs
Configurarea hardware-ului dvs
Configurarea hardware-ului dvs

Acest exemplu presupune un cluster Rpi cu 3 noduri, iar lista echipamentelor este mai jos:

  1. Switch Ethernet 5 porturi x 1

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

  2. Adaptor de alimentare USB cu 5 porturi x 1 **

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

  3. Cabluri Ethernet x 4

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

  4. USB 2. la cabluri de alimentare Micro USB B x 3

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

  5. Raspberry Pi3 Model B x 3

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

  6. Radiatoare x 6

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

* Este important să utilizați un adaptor de alimentare USB capabil să furnizeze Raspberry Pi cu tensiunea de funcționare minimă necesară

  • Conectați cablul Ethernet x1 de la router la comutatorul Ethernet.
  • Conectați cablul Ethernet x1 de la comutatorul Ethernet la fiecare dintre dispozitivele dvs. Pi
  • Conectați x1 USB-la-MicroUSB de la fiecare dintre dispozitivele dvs. Pi la adaptorul de alimentare USB.
  • Conectați totul și uitați-vă la luminile intermitente

Deși nu era necesar, dar am vrut ca zarzașul să arate cât mai tare posibil și să păstreze totul puțin mai îngrijit. Am decis să ridic 3 dintre aceste cutii stivuibile de la Amazon. Nu l-am inclus în acest instructable, deoarece nu este necesar din punct de vedere tehnic, dar pentru punctele de estetică aș recomanda să ridic câteva.

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

** Puncte bonus **

Am optat pentru a obține puncte suplimentare de tocilar și am dorit o indicație vizuală mai bună cu serverul cu care interacționam. Am avut niște protoboard de rezervă așezat în jur și o grămadă de LED-uri și rezistențe, așa că am spart rapid niște plăci pentru a pune peste pinii GPIO ai pi. În mod ideal, aș fi folosit câteva anteturi de sex feminin, dar aveam doar bărbați, așa că am avut nevoie să tăiem niște fire jumper.

Dacă doriți să mergeți și pe ruta respectivă (deoarece LED-urile sunt minunate), veți dori să urmați acest tutorial la:

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

Pasul 3: Configurați-vă Pi-urile

Va trebui să cunoașteți adresele IP ale fiecărui Pi din rețeaua dvs. locală. Dacă sunteți un ninja CLI, acest lucru ar trebui să fie ușor. Pentru toți ceilalți, puteți utiliza un scaner IP gratuit, cum ar fi SuperScan (OSX). Scrieți adresele IP.

Apoi, copiați cheia publică SSH în fiecare dintre Pi-uri folosind următoarea comandă de la terminal:

ssh-copy-id

Exemplu::

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

Nu aveți o cheie SSH? Nici o problemă! Pur și simplu alergați:

ssh-keygen

în terminalul dvs. și urmați instrucțiunile. Suntem aproape acolo!

Pasul 4: Instalați Ansible

Dacă ați ajuns până aici, felicitări! Sunteți la doar câteva minute distanță de a vă rula propria rețea de calcul distribuită.

Pe computerul / laptopul dvs. local, veți dori să instalați Ansible din linia de comandă. Pentru utilizatorii de Mac, este:

sudo pip instala ansible

Pentru toți ceilalți, consultați https://docs.ansible.com/ansible/latest/installat… pentru sistemul dvs. de operare.

Acum, veți dori să clonați această repo într-un folder SAU să descărcați. ZIP și să o extrageți într-un folder de pe mașina dvs. locală.

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

În acea repo, veți vedea un fișier hosts.ini. Deschideți-l în editorul de text preferat (sau nano sau vim):

[echilibrarea greutății]

pi-headnode ansible_host = 192.168.0.228 # <--- Schimbați aceasta la adresa IP a Pi pe care doriți să HAProxy.

[noduri]

node2 ansible_host = 192.168.0.16 # <--- Schimbați-l la adresa IP a celui de-al doilea Pi

node3 ansible_host = 192.168.0.58 # <--- Schimbați aceasta la adresa IP a celui de-al treilea Pi

Asta e! Pentru a rula playbook-ul, navigați la folderul repo de bază și tastați următoarele în terminal:

ansible-playbook playbook.yml

Pasul 5: Felicitări

Image
Image
Felicitări!!
Felicitări!!

Tocmai ai făcut ca magia computerului să se întâmple. Felicitări!

Aceasta este doar o dovadă a conceptului. În această repo, playbook-ul împinge un fișier index.html unic la fiecare dintre noduri, astfel încât să puteți depana vizual dacă funcționează sau nu. Pentru un server de producție, ați dori să modificați în mod evident playbook-ul pentru a vă implementa site-ul.

Dacă aveți întrebări sau comentarii, mi-ar plăcea să le aud! Vă rugăm să verificați repozitoriul Github și să vă îndepărtați! Mi-ar plăcea să văd cu ce ai venit.

Recomandat: