Indholdsfortegnelse:

Raspberry Pi 3 "Bramble": 5 trin
Raspberry Pi 3 "Bramble": 5 trin

Video: Raspberry Pi 3 "Bramble": 5 trin

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

Implementering af en Apache2 webserver på tværs af en skalerbar Raspberry Pi3 Model B "bramble" via en HAProxy load balancer!

Jeg laver meget webudvikling og har læst meget om opsætning af geo-redundans og load balancers, så jeg regnede med, at det var på tide, at jeg selv forsøgte at sætte det hele op. Jeg har haft utilfredshed med at få en server til at gå ned og ville forhindre, at det skulle ske igen i fremtiden!

Plus, det ser bare fedt ud.

Trin 1: Kom godt i gang

** OPDATER **

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

Jeg har faktisk gjort denne Instructable lidt lettere. Jeg refaktorerede repoen på Github for automatisk at installere, konfigurere og implementere HAProxy loadbalancer på din valgte Pi! Mindre kode, mindre redigering, færre chancer for fejl og flere chancer for sjov!

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

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

Udpak. ZIP -filen, og skriv.img til hvert MicroSD -kort for hver Pi i din klynge. OSX -brugere, et godt værktøj til dette er

Når du har ætset.img til MicroSD -kortet, skal du navigere til kortet i et nyt Finder- eller File Explorer -vindue - dette skal som standard hedde boot. Opret derefter en ny arkiv med navnet SSH. Sørg for, at du ikke lægger noget til en filtypenavn. Dette aktiverer SSH på din Rpi3. Skub kortet ud og placer det i din Pi. Gentag dette trin for de resterende 2 Pi'er (eller uanset hvor mange du ender med at bruge).

Trin 2: Opsætning af din hardware

Opsætning af din hardware
Opsætning af din hardware
Opsætning af din hardware
Opsætning af din hardware

Dette eksempel antager en 3 -node Rpi -klynge, og listen over udstyr er nedenfor:

  1. 5 -port Ethernet -switch 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. Hindbær Pi3 Model B x 3

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

  6. Kølelegemer x 6

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

* Det er vigtigt, at du bruger en USB -strømadapter, der er i stand til at forsyne Raspberry Pi'erne med deres minimum nødvendige driftsspænding

  • Tilslut x1 Ethernet -kabel fra din router til Ethernet -switch.
  • Tilslut x1 Ethernet -kabel fra din Ethernet -switch til hver af dine Pi'er
  • Tilslut x1 USB-til-MicroUSB fra hver af dine Pi'er til USB-strømadapteren.
  • Tilslut det hele og se på de blinkende lys

Selvom det ikke var nødvendigt, men jeg ønskede at bramble for at se så cool ud som muligt og holde alt lidt pænere. Jeg besluttede at afhente 3 af disse stabelbare sager fra Amazon. Jeg inkluderede det ikke i denne instruerbare, da det _teknisk_ ikke er påkrævet, men for æstetiske punkter vil jeg anbefale at hente nogle.

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

** Bonuspoint **

Jeg valgte at gå efter ekstra nørdspunkter og ville have en bedre visuel indikation af, hvilken server jeg interagerede med. Jeg havde noget ekstra protoboard liggende og en flok LED'er og modstande, så jeg hackede hurtigt nogle brædder sammen for at lægge over pi's GPIO -ben. Ideelt set ville jeg have brugt nogle kvindelige overskrifter, men jeg havde kun han, så jeg havde brug for at trimme nogle jumperwires op.

Hvis du også vil gå den vej (fordi lysdioder er fantastiske), vil du følge denne vejledning på:

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

Trin 3: Konfigurer dine Pi'er

Du skal kende IP -adresserne for hver af Pi'erne på dit lokale netværk. Hvis du er en CLI-ninja, bør dette være let-peasy. For alle andre kan du bruge en gratis IP -scanner, f.eks. SuperScan (OSX). Skriv IP -adresserne ned.

Kopier derefter din SSH offentlige nøgle til hver af dine Pi'er ved hjælp af følgende kommando fra din terminal:

ssh-copy-id

Eksempel::

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

Har du ikke en SSH -nøgle? Intet problem! Bare kør:

ssh-keygen

i din terminal, og følg vejledningen. Vi er næsten der!

Trin 4: Installer Ansible

Hvis du er nået så langt, tillykke! Du er kun få minutter væk fra at køre dit helt eget distribuerede computernetværk.

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

sudo pip installer ansible

For alle andre henvises til https://docs.ansible.com/ansible/latest/installat… til dit operativsystem.

Nu vil du klone denne repo til en mappe ELLER downloade. ZIP og pakke den ud i en mappe på din lokale maskine.

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

I den repo ser du en hosts.ini -fil. Åbn den i din foretrukne teksteditor (eller nano eller vim):

[loadbalancer]

pi-headnode ansible_host = 192.168.0.228 # <--- Skift dette til ip-adressen på den Pi, du vil HAProxy på.

[noder]

node2 ansible_host = 192.168.0.16 # <--- Skift dette til ip-adressen på din anden Pi

node3 ansible_host = 192.168.0.58 # <--- Skift dette til ip-adressen på din tredje Pi

Det er det! For at køre afspilningsbogen skal du navigere til basismappen repo og skrive følgende i din terminal:

ansible-playbook playbook.yml

Trin 5: Tillykke

Image
Image
Tillykke!!
Tillykke!!

Du har lige fået computermagi til at ske. Tillykke!

Dette er bare et bevis på konceptet. I denne repo skubber playbogen en unik index.html -fil til hver af noderne, så du visuelt kan fejlsøge, om den fungerer eller ej. For en produktionsserver vil du naturligvis redigere playbogen for at implementere dit websted.

Hvis du har spørgsmål eller kommentarer, hører jeg dem gerne! Betal venligst Github -repoen og gaffel væk! Jeg ville elske at se, hvad du finder på.

Anbefalede: