Innholdsfortegnelse:

Raspberry Pi 3 "Bramble": 5 trinn
Raspberry Pi 3 "Bramble": 5 trinn

Video: Raspberry Pi 3 "Bramble": 5 trinn

Video: Raspberry Pi 3
Video: Assemble Bramble - Intro to Raspberry Pi-Cluster 2024, November
Anonim
Raspberry Pi 3
Raspberry Pi 3

Distribuerer en Apache2 webserver over en skalerbar Raspberry Pi3 Model B "bramble" via en HAProxy lastbalanser!

Jeg driver mye med webutvikling og har lest mye om å sette opp geo-redundans og lastbalansere, så jeg tenkte at det var på tide å prøve å sette det opp selv. Jeg har hatt misnøyen med å få en server til å gå ned og ønsket å forhindre at det skjer igjen i fremtiden!

I tillegg ser det bare kult ut.

Trinn 1: Komme i gang

** OPPDATER **

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

Jeg har faktisk gjort denne Instructable litt enklere. Jeg refakturerte repoen på Github for å automatisk installere, konfigurere og distribuere HAProxy loadbalancer på din valgte Pi! Mindre kode, mindre redigering, færre sjanser for feil og flere sjanser for moro skyld!

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

Gå videre til https://www.raspberrypi.org/downloads/raspbian/ og last ned en ny kopi av Raspbian Stretch Lite.

Pakk ut. ZIP -filen og skriv.img til hvert MicroSD -kort for hver Pi i klyngen. OSX -brukere, et flott verktøy for dette er

Etter at du har etset.img til MicroSD -kortet, navigerer du til kortet i et nytt Finder- eller Filutforsker -vindu - dette bør ha navnet boot som standard. Opprett deretter en ny arkivert SSH. Pass på at du ikke legger noe til en filtype. Dette vil aktivere SSH på Rpi3. Løs ut kortet og legg det inn i din Pi. Gjenta dette trinnet for de resterende 2 Pi -ene (eller hvor mange du ender med å bruke).

Trinn 2: Konfigurere maskinvaren

Sette opp maskinvaren
Sette opp maskinvaren
Sette opp maskinvaren
Sette opp maskinvaren

Dette eksemplet forutsetter en 3 -node Rpi -klynge, og listen over utstyr er nedenfor:

  1. 5 -port Ethernet -bryter x 1

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

  2. 5 -port USB -strømadapter x 1 **

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

  3. Ethernet -kabler x 4

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

  4. USB 2. til Micro USB B strømkabler x 3

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

  5. Bringebær Pi3 modell B x 3

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

  6. Kjøleribbe x 6

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

* Det er viktig at du bruker en USB -strømadapter som er i stand til å forsyne Raspberry Pi med den minste nødvendige driftsspenningen

  • Koble x1 Ethernet -kabel fra ruteren til Ethernet -bryteren.
  • Koble x1 Ethernet -kabel fra Ethernet -bryteren til hver av Pi -ene
  • Koble x1 USB-til-MicroUSB fra hver av Pi-ene til USB-strømadapteren.
  • Koble til alt og se på de blinkende lysene

Selv om det ikke var nødvendig, men jeg ønsket å se så kult som mulig og holde alt litt ryddigere. Jeg bestemte meg for å hente 3 av disse stabelbare sakene fra Amazon. Jeg inkluderte det ikke i denne instruerbare siden det er _teknisk_ ikke nødvendig, men for estetiske punkter vil jeg anbefale å hente noe.

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

** Bonuspoeng **

Jeg valgte å gå for ekstra nerdpoeng og ønsket en bedre visuell indikasjon på hvilken server jeg samhandlet med. Jeg hadde noen ekstra protoboard liggende og en haug med LED -er og motstander, så jeg hacket raskt sammen noen brett for å legge over pi's GPIO -pinner. Ideelt sett ville jeg ha brukt noen kvinnelige topptekster, men jeg hadde bare hann, så jeg trengte å trimme noen hoppetråder.

Hvis du også vil gå den ruten (fordi lysdioder er fantastiske), vil du følge denne opplæringen på:

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

Trinn 3: Konfigurer Pi -ene

Du må kjenne IP -adressene til hver av Pi -ene på ditt lokale nettverk. Hvis du er en CLI-ninja, bør dette være lett. For alle andre kan du bruke en gratis IP -skanner, for eksempel SuperScan (OSX). Skriv ned IP -adressene.

Deretter kopierer du den offentlige SSH -nøkkelen din til hver av Pi -ene ved å bruke følgende kommando fra terminalen:

ssh-copy-id

Eksempel::

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

Har du ikke en SSH -nøkkel? Ikke noe problem! Bare løp:

ssh-keygen

i terminalen din og følg instruksjonene. Vi er nesten der!

Trinn 4: Installer Ansible

Hvis du har kommet så langt, gratulerer! Du er bare noen få minutter unna å kjøre ditt eget distribuerte datanettverk.

På din lokale datamaskin / bærbare datamaskin vil du installere Ansible fra kommandolinjen. For Mac -brukere er det:

sudo pip installer ansible

For alle andre, se https://docs.ansible.com/ansible/latest/installat… for operativsystemet.

Nå vil du klone denne repoen til en mappe ELLER laste ned. ZIP og pakke den ut i en mappe på din lokale maskin.

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

I den repoen ser du en hosts.ini -fil. Åpne den i din favoritt tekstredigerer (eller nano eller vim):

[loadbalancer]

pi-headnode ansible_host = 192.168.0.228 # <--- Endre dette til ip-adressen til Pi som du vil HAProxy på.

[noder]

node2 ansible_host = 192.168.0.16 # <--- Endre dette til ip-adressen til din andre Pi

node3 ansible_host = 192.168.0.58 # <--- Endre dette til ip-adressen til din tredje Pi

Det er det! For å kjøre spillboken, naviger til den grunnleggende repomappen og skriv inn følgende i terminalen:

ansible-playbook playbook.yml

Trinn 5: Gratulerer

Image
Image
Gratulerer!!
Gratulerer!!

Du har nettopp fått datamaskinen til å skje. Gratulerer!

Dette er bare et bevis på konseptet. I denne repoen skyver playbook en unik index.html -fil til hver av nodene, slik at du visuelt kan feilsøke om den fungerer eller ikke. For en produksjonsserver vil du åpenbart redigere spillboken for å distribuere nettstedet ditt.

Hvis du har spørsmål eller kommentarer, vil jeg gjerne høre dem! Vennligst sjekk Github -repoen og gaffel unna! Jeg vil gjerne se hva du finner på.

Anbefalt: