Obsah:

Raspberry Pi 3 „Bramble“: 5 krokov
Raspberry Pi 3 „Bramble“: 5 krokov

Video: Raspberry Pi 3 „Bramble“: 5 krokov

Video: Raspberry Pi 3 „Bramble“: 5 krokov
Video: Assemble Bramble - Intro to Raspberry Pi-Cluster 2024, Október
Anonim
Raspberry Pi 3
Raspberry Pi 3

Nasadenie webového servera Apache2 na škálovateľnú „ostružinu“Raspberry Pi3 Model B prostredníctvom vyrovnávača zaťaženia HAProxy!

Robím veľa webového vývoja a veľa som čítal o nastavení geografického prepúšťania a vyrovnávača zaťaženia, a tak som zistil, že je načase, aby som sa pokúsil všetko nastaviť sám. Mal som znechutenie z toho, že server prestal fungovať, a chcel som zabrániť tomu, aby sa to v budúcnosti opakovalo!

Navyše to jednoducho vyzerá super.

Krok 1: Začíname

** AKTUALIZÁCIA **

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

V skutočnosti som tento návod trochu zjednodušil. Upravil som repo na Github, aby automaticky nainštaloval, nakonfiguroval a nasadil nástroj na vyrovnávanie zaťaženia HAProxy na vami zvolenom Pi! Menej kódu, menej úprav, menej šancí na chybu a viac šancí na zábavu!

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

Prejdite na stránku https://www.raspberrypi.org/downloads/raspbian/ a stiahnite si novú kópiu Raspbian Stretch Lite.

Extrahujte súbor. ZIP a napíšte.img na každú kartu MicroSD pre každé Pi vo vašom klastri. Používatelia OSX, skvelým nástrojom na to je

Po vyleptaní súboru.img na kartu MicroSD prejdite na kartu v novom okne programu Finder alebo Prieskumník - predvolene by sa to malo nazývať boot. Na tom vytvorte nový súbor s názvom SSH. Uistite sa, že do prípony súboru nevkladáte nič. To umožní SSH na vašom Rpi3. Vysuňte kartu a vložte ju do počítača Pi. Tento krok zopakujte pre zvyšné 2 Pi (alebo pre mnohé z nich, ktoré nakoniec použijete).

Krok 2: Nastavenie hardvéru

Nastavenie hardvéru
Nastavenie hardvéru
Nastavenie hardvéru
Nastavenie hardvéru

Tento príklad predpokladá 3 -uzlový klaster Rpi a zoznam zariadení je uvedený nižšie:

  1. 5portový ethernetový prepínač x 1

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

  2. 5 portový napájací adaptér USB x 1 **

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

  3. Ethernetové káble x 4

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

  4. Napájacie káble USB 2. až Micro USB B 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. Chladiče x 6

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

* Je dôležité, aby ste používali napájací adaptér USB, ktorý je schopný napájať Raspberry Pi s minimálnym požadovaným prevádzkovým napätím

  • Pripojte x1 ethernetový kábel zo smerovača k ethernetovému prepínaču.
  • Pripojte x1 ethernetový kábel zo svojho ethernetového prepínača ku každému z vašich Pi
  • Pripojte x1 USB-to-MicroUSB z každého vášho Pi k napájaciemu adaptéru USB.
  • Zapojte všetko do zásuvky a pozrite sa na blikajúce svetlá

Aj keď to nie je potrebné, ale chcel som, aby ostružina vyzerala čo najchladnejšie a aby bolo všetko o niečo úhľadnejšie. Rozhodol som sa vyzdvihnúť 3 z týchto stohovateľných puzdier od Amazonu. Nezaradil som to do tohto návodu, pretože to _technicky_ nie je povinné, ale z hľadiska estetiky by som odporučil nejaké vyzdvihnúť.

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

** Bonusové body **

Rozhodol som sa využiť ďalšie hlúposti a chcel som lepšie vizuálne naznačiť, s ktorým serverom som interagoval. Okolo som mal náhradný protoboard a veľa diód LED a rezistorov, a tak som rýchlo nabil niekoľko dosiek, aby som ich položil na kolíky GPIO pí. V ideálnom prípade by som použil nejaké ženské hlavičky, ale mal som len mužské, takže som potreboval orezať prepojovacie vodiče.

Ak sa chcete vydať aj touto cestou (pretože diódy LED sú úžasné), budete sa chcieť riadiť týmto návodom na:

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

Krok 3: Nakonfigurujte svoje Pi

Budete potrebovať IP adresy každého z Pi vo vašej miestnej sieti. Ak ste ninja CLI, malo by to byť ľahké. Pre všetkých ostatných môžete použiť bezplatný skener IP, napríklad SuperScan (OSX). Zapíšte si IP adresy.

Ďalej skopírujte svoj verejný kľúč SSH do každého z vašich Pi pomocou nasledujúceho príkazu z vášho terminálu:

ssh-copy-id

Príklad::

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

Nemáte kľúč SSH? Žiaden problém! Proste bež:

ssh-keygen

vo svojom termináli a riaďte sa pokynmi. Už sme skoro tam!

Krok 4: Nainštalujte aplikáciu Ansible

Ak ste sa dostali až sem, gratulujeme! Ste len pár minút od spustenia vlastnej distribuovanej počítačovej siete.

Na miestny počítač / prenosný počítač budete chcieť nainštalovať program Ansible z príkazového riadka. Pre používateľov počítačov Mac je to:

sudo pip install ansible

Pokiaľ ide o ostatných, pozrite sa na https://docs.ansible.com/ansible/latest/installat… pre váš operačný systém.

Teraz budete chcieť toto repo klonovať do priečinka ALEBO stiahnuť. ZIP a extrahovať ho do priečinka na miestnom počítači.

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

V tomto úložisku uvidíte súbor hosts.ini. Otvorte ho vo svojom obľúbenom textovom editore (alebo nano alebo vim):

[loadbalancer]

pi-headnode ansible_host = 192.168.0.228 # <--- Zmeňte to na ip adresu Pi, na ktorej chcete HAProxy.

[uzly]

node2 ansible_host = 192.168.0.16 # <--- Zmeňte to na adresu IP svojho druhého Pi

node3 ansible_host = 192.168.0.58 # <--- Zmeňte to na ip adresu vášho tretieho Pi

To je všetko! Ak chcete spustiť zoznam skladieb, prejdite do základného priečinka repo a do terminálu zadajte nasledujúci príkaz:

ansible-playbook playbook.yml

Krok 5: Blahoželáme !

Image
Image
Gratulujem !!
Gratulujem !!

Práve ste urobili počítačovú mágiu. Gratulujem

Toto je len dôkaz koncepcie. V tomto úložisku playbook posúva jedinečný súbor index.html do každého z uzlov, aby ste mohli vizuálne ladiť, či funguje alebo nie. Pokiaľ ide o produkčný server, zrejme by ste chceli upraviť príručku tak, aby bola nasadená vaša stránka.

Ak máte akékoľvek otázky alebo pripomienky, rád ich vypočujem! Odhláste sa do repo centra Github a rozbaľte sa! Rád by som videl, na čo prídeš.

Odporúča: