Obsah:

Raspberry Pi 3 „Bramble“: 5 kroků
Raspberry Pi 3 „Bramble“: 5 kroků

Video: Raspberry Pi 3 „Bramble“: 5 kroků

Video: Raspberry Pi 3 „Bramble“: 5 kroků
Video: Алисы в стране чудес ► 1 Прохождение Bramble: The Mountain King 2024, Říjen
Anonim
Raspberry Pi 3
Raspberry Pi 3

Nasazení webového serveru Apache2 na škálovatelnou „ostružinu“Raspberry Pi3 Model B prostřednictvím vyrovnávače zatížení HAProxy!

Dělám hodně webového vývoje a hodně jsem četl o nastavení geo-redundancí a balancerů zátěže, takže jsem usoudil, že je načase, abych si vše sám nastavil. Měl jsem nelibost, že server spadl, a chtěl jsem zabránit tomu, aby se to v budoucnu opakovalo!

Navíc to prostě vypadá skvěle.

Krok 1: Začínáme

** AKTUALIZACE **

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

Ve skutečnosti jsem tento Instructable trochu usnadnil. Refactoroval jsem repo na Githubu, abych automaticky nainstaloval, nakonfiguroval a nasadil HAProxy loadbalancer na vámi zvolené Pi! Méně kódu, méně úprav, menší šance na chybu a větší šance na zábavu!

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

Přejděte na stránku https://www.raspberrypi.org/downloads/raspbian/ a stáhněte si novou kopii Raspbian Stretch Lite.

Extrahujte soubor. ZIP a zapište soubor.img na každou kartu MicroSD pro každé Pi ve vašem clusteru. Uživatelé OSX, skvělý nástroj pro to je

Po vyleptání souboru.img na kartu MicroSD přejděte na kartu v novém okně Finder nebo Průzkumník souborů - toto by mělo být ve výchozím nastavení pojmenováno boot. Na tom vytvořte nový soubor s názvem SSH. Ujistěte se, že do přípony souboru nevkládáte nic. To umožní SSH na vašem Rpi3. Vysuňte kartu a vložte ji do svého Pi. Tento krok opakujte pro zbývající 2 Pi (nebo jakkoli mnoho jich nakonec použijete).

Krok 2: Nastavení hardwaru

Nastavení hardwaru
Nastavení hardwaru
Nastavení hardwaru
Nastavení hardwaru

Tento příklad předpokládá 3 uzlový klastr Rpi a seznam vybavení je níže:

  1. 5portový ethernetový přepínač x 1

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

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

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

  3. Ethernetové kabely x 4

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

  4. Napájecí kabely 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é, abyste používali napájecí adaptér USB, který je schopen dodávat Raspberry Pi minimální požadované provozní napětí

  • Připojte ethernetový kabel x1 ze směrovače k ethernetovému přepínači.
  • Připojte ethernetový kabel x1 z ethernetového přepínače ke každému z vašich Pi
  • Připojte x1 USB-to-MicroUSB z každého vašeho Pi k napájecímu adaptéru USB.
  • Zapojte to všechno a podívejte se na blikající světla

I když to není nutné, ale chtěl jsem, aby ostruha vypadala co nejchladněji a aby vše bylo trochu úhlednější. Rozhodl jsem se vyzvednout 3 z těchto stohovatelných pouzder od Amazonu. Nezahrnul jsem to do tohoto návodu, protože to není _technicky_ vyžadováno, ale z hlediska estetiky bych doporučil nějaké vyzvednout.

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

** Bonusové body **

Rozhodl jsem se pro extra nerd body a chtěl lepší vizuální indikaci, se kterým serverem interaguji. Měl jsem kolem sebe náhradní protoboard a spoustu LED a odporů, takže jsem rychle naboural několik desek a položil je přes GPIO piny pí. V ideálním případě bych použil nějaké ženské záhlaví, ale měl jsem jen mužské, takže jsem potřeboval oříznout nějaké propojovací vodiče.

Pokud se chcete také vydat touto cestou (protože LED diody jsou úžasné), budete chtít tento tutoriál sledovat na adrese:

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

Krok 3: Konfigurujte své Pi

Budete potřebovat znát IP adresy všech Pi ve vaší místní síti. Pokud jste ninja CLI, mělo by to být snadné. Pro všechny ostatní můžete použít bezplatný skener IP, například SuperScan (OSX). Zapište si IP adresy.

Dále zkopírujte svůj veřejný klíč SSH do každého z vašich Pi pomocí následujícího příkazu z vašeho terminálu:

ssh-copy-id

Příklad::

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

Nemáte klíč SSH? Žádný problém! Prostě běž:

ssh-keygen

ve vašem terminálu a postupujte podle pokynů. Už tam skoro jsme!

Krok 4: Nainstalujte Ansible

Pokud jste se dostali až sem, gratulujeme! Jste jen pár minut od spuštění vlastní distribuované počítačové sítě.

Na místním počítači / notebooku budete chtít nainstalovat Ansible z příkazového řádku. Pro uživatele počítačů Mac je to:

sudo pip install ansible

Pro všechny ostatní viz https://docs.ansible.com/ansible/latest/installat… pro váš OS.

Nyní budete chtít toto repo naklonovat do složky NEBO stáhnout. ZIP a rozbalit do složky na místním počítači.

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

V tomto úložišti uvidíte soubor hosts.ini. Otevřete jej ve svém oblíbeném textovém editoru (nebo nano nebo vim):

[loadbalancer]

pi-headnode ansible_host = 192.168.0.228 # <--- Změňte to na IP adresu Pi, na které chcete HAProxy.

[uzly]

node2 ansible_host = 192.168.0.16 # <--- Změňte to na IP adresu vašeho druhého Pi

node3 ansible_host = 192.168.0.58 # <--- Změňte to na IP adresu vašeho třetího Pi

A je to! Chcete -li spustit playbook, přejděte do základní repo složky a do terminálu zadejte následující:

ansible-playbook playbook.yml

Krok 5: Gratulujeme

Image
Image
Gratulujeme!!
Gratulujeme!!

Právě jste uskutečnili počítačovou magii. Gratulujeme!

To je jen důkaz koncepce. V tomto úložišti playbook tlačí jedinečný soubor index.html na každý z uzlů, takže můžete vizuálně ladit, zda funguje nebo ne. U produkčního serveru byste chtěli očividně upravit příručku k nasazení vašeho webu.

Pokud máte nějaké dotazy nebo připomínky, rád je vyslechnu! Pokladnu Github repo a vidličku pryč! Rád bych viděl, s čím přijdete.

Doporučuje: