Innehållsförteckning:

Raspberry Pi 3 "Bramble": 5 steg
Raspberry Pi 3 "Bramble": 5 steg

Video: Raspberry Pi 3 "Bramble": 5 steg

Video: Raspberry Pi 3
Video: Алисы в стране чудес ► 1 Прохождение Bramble: The Mountain King 2024, November
Anonim
Raspberry Pi 3
Raspberry Pi 3

Distribuerar en Apache2 -webbserver över en skalbar Raspberry Pi3 Model B "bramble" via en HAProxy -lastbalanserare!

Jag gör en hel del webbutveckling och har läst mycket om hur man konfigurerar geo-redundans och lastbalanserare, så jag tänkte att det var dags att ta en chans att ställa in allt själv. Jag har haft missnöjet med att ha en server gå ner och ville förhindra att det händer igen i framtiden!

Dessutom ser det bara coolt ut.

Steg 1: Komma igång

** UPPDATERING **

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

Jag har faktiskt gjort denna Instructable lite enklare. Jag omstrukturerade repot på Github för att automatiskt installera, konfigurera och distribuera HAProxy loadbalancer på din valda Pi! Mindre kod, mindre redigering, mindre risk för fel och fler chanser för skojs skull!

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

Gå vidare till https://www.raspberrypi.org/downloads/raspbian/ och ladda ner en ny kopia av Raspbian Stretch Lite.

Extrahera. ZIP -filen och skriv.img till varje MicroSD -kort för varje Pi i ditt kluster. OSX -användare, ett bra verktyg för detta är

När du har etsat.img till MicroSD -kortet, navigerar du till kortet i ett nytt Finder- eller File Explorer -fönster - detta bör heta boot som standard. På det, skapa en ny arkiverad med namnet SSH. Se till att du inte lägger till något för ett filtillägg. Detta aktiverar SSH på din Rpi3. Mata ut kortet och placera det i din Pi. Upprepa detta steg för de återstående 2 Pi: erna (eller hur många du än använder).

Steg 2: Konfigurera din maskinvara

Konfigurera din maskinvara
Konfigurera din maskinvara
Konfigurera din maskinvara
Konfigurera din maskinvara

Det här exemplet förutsätter ett Rpi -kluster med 3 noder och listan över utrustning finns nedan:

  1. 5 -port Ethernet -switch x 1

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

  2. 5 -portars USB -strömadapter x 1 **

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

  3. Ethernet -kablar x 4

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

  4. USB 2. till Micro USB B strömkablar x 3

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

  5. Hallon Pi3 modell B x 3

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

  6. Kylflänsar x 6

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

* Det är viktigt att du använder en USB -strömadapter som kan förse Raspberry Pi med minsta nödvändiga spänning

  • Anslut x1 Ethernet -kabel från din router till Ethernet -switch.
  • Anslut x1 Ethernet -kabel från din Ethernet -switch till var och en av dina Pi: er
  • Anslut x1 USB-till-MicroUSB från var och en av dina Pi till USB-strömadaptern.
  • Anslut allt och titta på de blinkande lamporna

Även om det inte var nödvändigt, men jag ville att bramble för att se så cool som möjligt och hålla allt lite snyggare. Jag bestämde mig för att hämta 3 av dessa stapelbara fodral från Amazon. Jag inkluderade det inte i denna instruerbara eftersom det _tekniskt_ inte krävs, men för estetiska punkter skulle jag rekommendera att hämta några.

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

** Bonuspoäng **

Jag valde att gå för extra nördpunkter och ville ha en bättre visuell indikation på vilken server jag interagerade med. Jag hade lite extra protoboard och ett gäng lysdioder och motstånd, så jag hackade snabbt ihop några brädor för att lägga över pi: s GPIO -stift. Helst skulle jag ha använt några kvinnliga rubriker, men jag hade bara hane så jag behövde trimma några bygelkablar.

Om du också vill gå den vägen (eftersom lysdioder är fantastiska), vill du följa denna handledning på:

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

Steg 3: Konfigurera dina Pi: er

Du måste känna till IP -adresserna för var och en av Pi: erna i ditt lokala nätverk. Om du är en CLI-ninja borde det vara lätt att göra. För alla andra kan du använda en gratis IP -skanner, till exempel SuperScan (OSX). Skriv ner IP -adresserna.

Kopiera sedan din SSH -publika nyckel till var och en av dina Pi: er med hjälp av följande kommando från din terminal:

ssh-copy-id

Exempel::

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

Har du inte en SSH -nyckel? Inga problem! Bara spring:

ssh-keygen

i din terminal och följ anvisningarna. Vi är nästan där!

Steg 4: Installera Ansible

Om du har kommit så här långt, grattis! Du är bara några minuter från att driva ditt eget distribuerade datanätverk.

På din lokala dator / bärbara dator vill du installera Ansible från kommandoraden. För Mac -användare är det:

sudo pip installera ansible

För alla andra, se https://docs.ansible.com/ansible/latest/installat… för ditt operativsystem.

Nu vill du klona denna repo i en mapp ELLER ladda ner. ZIP och extrahera den till en mapp på din lokala dator.

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

I den repon ser du en hosts.ini -fil. Öppna den i din favorit textredigerare (eller nano eller vim):

[lastbalanserare]

pi-headnode ansible_host = 192.168.0.228 # <--- Ändra detta till ip-adressen för Pi som du vill HAProxy på.

[knutpunkter]

node2 ansible_host = 192.168.0.16 # <--- Ändra detta till ip-adressen för din andra Pi

node3 ansible_host = 192.168.0.58 # <--- Ändra detta till ip-adressen för din tredje Pi

Det är allt! För att köra playbook, navigerar du till basmappen repo och skriver följande i din terminal:

ansible-playbook playbook.yml

Steg 5: Grattis !

Image
Image
Grattis !!
Grattis !!

Du fick just datormagi att hända. Grattis!

Detta är bara ett bevis på konceptet. I denna repo driver playbook en unik index.html -fil till var och en av noderna så att du visuellt kan felsöka om den fungerar eller inte. För en produktionsserver vill du självklart redigera spelboken för att distribuera din webbplats.

Om du har några frågor eller kommentarer, vill jag gärna höra dem! Kolla in Github -repo och kasta bort! Jag skulle gärna se vad du hittar på.

Rekommenderad: