Inhoudsopgave:

Raspberry Pi 3 "Bramble" - Ajarnpa
Raspberry Pi 3 "Bramble" - Ajarnpa

Video: Raspberry Pi 3 "Bramble" - Ajarnpa

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

Een Apache2-webserver inzetten op een schaalbare Raspberry Pi3 Model B "bramble" via een HAProxy load balancer!

Ik doe veel aan webontwikkeling en heb veel gelezen over het instellen van geo-redundanties en load balancers, dus ik vond dat het tijd was om het allemaal zelf in te stellen. Ik heb het ongenoegen gehad dat een server uitvalt en wilde voorkomen dat dit in de toekomst weer zou gebeuren!

Bovendien ziet het er gewoon cool uit.

Stap 1: Aan de slag

** UPDATE **

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

Ik heb dit Instructable eigenlijk een beetje gemakkelijker gemaakt. Ik heb de repo op Github aangepast om de HAProxy-loadbalancer automatisch te installeren, configureren en implementeren op de door jou gekozen Pi! Minder code, minder bewerking, minder kans op fouten en meer kans op plezier!

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

Ga naar https://www.raspberrypi.org/downloads/raspbian/ en download een nieuwe kopie van Raspbian Stretch Lite.

Pak het. ZIP-bestand uit en schrijf de.img naar elke MicroSD-kaart voor elke Pi in uw cluster. OSX-gebruikers, een geweldige tool hiervoor is

Nadat je de.img naar de MicroSD-kaart hebt geëtst, navigeer je naar de kaart in een nieuw Finder- of Verkenner-venster - dit zou standaard boot moeten heten. Maak daarop een nieuw bestand met de naam SSH. Zorg ervoor dat u niets voor een bestandsextensie plaatst. Hierdoor wordt SSH op uw Rpi3 ingeschakeld. Werp de kaart uit en plaats deze in je Pi. Herhaal deze stap voor de resterende 2 Pi's (of hoeveel je er uiteindelijk ook gebruikt).

Stap 2: Uw hardware instellen

Uw hardware instellen
Uw hardware instellen
Uw hardware instellen
Uw hardware instellen

In dit voorbeeld wordt uitgegaan van een Rpi-cluster met 3 knooppunten en de lijst met apparatuur staat hieronder:

  1. 5-poorts Ethernet-switch x 1

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

  2. 5-poorts USB-lichtnetadapter x 1 **

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

  3. Ethernet-kabels x 4"

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

  4. USB 2. naar Micro USB B Stroomkabels 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. Koellichamen x 6

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

* Het is belangrijk dat u een USB-lichtnetadapter gebruikt die de Raspberry Pi's van hun minimaal vereiste bedrijfsspanning kan voorzien

  • Sluit x1 Ethernet-kabel van uw router aan op de Ethernet-switch.
  • Sluit x1 Ethernet-kabel van uw Ethernet-switch aan op elk van uw Pi's
  • Sluit x1 USB-naar-MicroUSB van elk van uw Pi's aan op de USB-lichtnetadapter.
  • Sluit alles aan en kijk naar de knipperende lampjes

Hoewel niet nodig, maar ik wilde de braamstruik er zo cool mogelijk uit laten zien en alles een beetje netter houden. Ik besloot 3 van deze stapelbare koffers van Amazon op te halen. Ik heb het niet in deze instructable opgenomen omdat het _technisch_ niet vereist is, maar voor esthetische punten zou ik aanraden om er wat op te halen.

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

** Bonus punten **

Ik koos ervoor om voor extra nerd-punten te gaan en wilde een betere visuele indicatie van met welke server ik interactie had. Ik had wat reserve protoboards liggen en een heleboel LED's en weerstanden, dus ik heb snel wat boards gehackt om over de GPIO-pinnen van de pi te leggen. In het ideale geval zou ik wat vrouwelijke headers hebben gebruikt, maar ik had alleen mannelijke, dus ik moest wat jumperdraden inkorten.

Als je die route ook wilt gaan (omdat LED's geweldig zijn), wil je deze tutorial volgen op:

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

Stap 3: Configureer je Pi's

U moet de IP-adressen van elk van de Pi's op uw lokale netwerk weten. Als je een CLI-ninja bent, zou dit gemakkelijk moeten zijn. Voor alle anderen kunt u een gratis IP-scanner gebruiken, zoals SuperScan (OSX). Schrijf de IP-adressen op.

Kopieer vervolgens uw openbare SSH-sleutel naar elk van uw Pi's met behulp van de volgende opdracht vanaf uw terminal:

ssh-kopie-id

Voorbeeld::

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

Heb je geen SSH-sleutel? Geen probleem! Ren gewoon:

ssh-keygen

in uw terminal en volg de aanwijzingen. We zijn er bijna!

Stap 4: Installeer Ansible

Als je zo ver bent gekomen, gefeliciteerd! U bent slechts een paar minuten verwijderd van het runnen van uw eigen gedistribueerde computernetwerk.

Op je lokale computer/laptop wil je Ansible installeren vanaf de opdrachtregel. Voor Mac-gebruikers is het:

sudo pip installatie ansible

Raadpleeg voor alle anderen https://docs.ansible.com/ansible/latest/installat… voor uw besturingssysteem.

Nu wil je deze repo naar een map klonen OF de. ZIP downloaden en uitpakken in een map op je lokale computer.

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

In die repo ziet u een hosts.ini-bestand. Open het in je favoriete teksteditor (of nano of vim):

[loadbalancer]

pi-headnode ansible_host=192.168.0.228 # <--- Verander dit in het ip-adres van de Pi waarop je HAProxy wilt gebruiken.

[knooppunten]

node2 ansible_host=192.168.0.16 # <--- Wijzig dit in het ip-adres van uw tweede Pi

node3 ansible_host=192.168.0.58 # <--- Wijzig dit in het ip-adres van uw derde Pi

Dat is het! Om het playbook uit te voeren, navigeert u naar de basisrepomap en typt u het volgende in uw terminal:

ansible-playbook playbook.yml

Stap 5: Gefeliciteerd

Image
Image
Gefeliciteerd!!
Gefeliciteerd!!

Je hebt zojuist computermagie tot stand gebracht. Gefeliciteerd!

Dit is slechts een proof of concept. In deze repo pusht het playbook een uniek index.html-bestand naar elk van de knooppunten, zodat u visueel kunt debuggen of het wel of niet werkt. Voor een productieserver wilt u natuurlijk het playbook bewerken om uw site te implementeren.

Als je vragen of opmerkingen hebt, hoor ik ze graag! Bekijk de Github-repo en ga weg! Ik zou graag zien waar je mee komt.

Aanbevolen: