Innholdsfortegnelse:
- Trinn 1: Komme i gang
- Trinn 2: Konfigurere maskinvaren
- Trinn 3: Konfigurer Pi -ene
- Trinn 4: Installer Ansible
- Trinn 5: Gratulerer
Video: Raspberry Pi 3 "Bramble": 5 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:24
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
Dette eksemplet forutsetter en 3 -node Rpi -klynge, og listen over utstyr er nedenfor:
-
5 -port Ethernet -bryter x 1
https://www.amazon.ca/gp/product/B00QR6XFHQ/ref=oh…
-
5 -port USB -strømadapter x 1 **
https://www.amazon.ca/gp/product/B017R9IJTU/ref=oh…
-
Ethernet -kabler x 4
https://www.amazon.ca/gp/product/B01J8KFTB2/ref=oh…
-
USB 2. til Micro USB B strømkabler x 3
https://www.amazon.ca/gp/product/B019U0V75W/ref=oh…
-
Bringebær Pi3 modell B x 3
https://www.amazon.ca/gp/product/B01CD5VC92/ref=od…
-
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
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:
Basiliscus "α". Mandalorian's Basilisk W/ Raspberry Pi Hardware og Raspbian OS: 19 trinn
Basiliscus "α". Mandalorian's Basilisk W/ Raspberry Pi Hardware og Raspbian OS: Dette prosjektet handler om en enhet som du kan bruke som en datamaskin, forskjellig fra en bærbar datamaskin, mens du er på farten. Hovedformålet er å la deg skrive koden din hvis du programmerer eller lærer. Også, hvis du er forfatter eller liker å skrive historier, selv om
"Ready Maker" - Kontroll over "Lego Power Functions" -prosjekt: 9 trinn
"Ready Maker" - Kontroll over "Lego Power Functions" -prosjektet: Lær hvordan du kontrollerer Lego " Power -funksjoner " komponenter med Arduino -bord og bygg prosjektet ditt i "Ready Maker" editor (ingen kode nødvendig) for å fjernstyre modellen din
Siste MacOS/Hackintosh High Sierra 10.13 Usb Wifi Driver "Future Proof" -løsning ved bruk av Raspberry Pi: 4 trinn
Siste MacOS/Hackintosh High Sierra 10.13 Usb Wifi Driver "Future Proof" løsning ved bruk av Raspberry Pi: Et av de mest frustrerende problemene med den nyeste macOS/Hackintosh er usb wifi driver tilgjengelig. Jeg har 3 wifi usb, ikke noen av dem fungerer på det siste macOS High Sierra 10.13 Min siste usb wifi er panda -trådløs, men driverstøtten for macO
HC - 06 (Slave Module) Endre "NAME" Uten bruk "Monitor Serial Arduino" som "Fungerer enkelt": Feilfri måte!: 3 trinn
HC - 06 (Slave Module) Endre "NAME" Uten bruk "Monitor Serial Arduino" … som "Fungerer enkelt": Feilfri måte!: Etter " Lang tid " prøver å endre navn på HC - 06 (slave -modul), ved hjelp av " seriell skjerm av Arduino, uten " Suksess ", jeg fant en annen enkel måte og jeg deler nå! Ha det gøy venner
3 -akset CNC -ruter - 60 "x60" x5 " - JunkBot: 5 trinn (med bilder)
3 Axis CNC Router - 60 "x60" x5 " - JunkBot: This Instructable er den første i en serie som dokumenterer konstruksjonen av en DIY 3 -akset CNC -router. Dette er også mitt bidrag til Universal Laser Cutter Contest. Målet med denne Instructable er ikke å vise en full trinnvis progresjon, men heller