Spisu treści:
- Krok 1: Pierwsze kroki
- Krok 2: Konfiguracja sprzętu
- Krok 3: Skonfiguruj swoje Pi
- Krok 4: Zainstaluj Ansible
- Krok 5: Gratulacje
Wideo: Raspberry Pi 3 "Bramble": 5 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:31
Wdrażanie serwera Apache2 na skalowalnym "bramble" Raspberry Pi3 Model B za pośrednictwem systemu równoważenia obciążenia HAProxy!
Dużo pracuję nad tworzeniem stron internetowych i dużo czytałem o konfigurowaniu geo-redundancji i równoważenia obciążenia, więc pomyślałem, że nadszedł czas, aby spróbować samemu to wszystko skonfigurować. Byłem niezadowolony z powodu awarii serwera i chciałem, aby to się nie powtórzyło w przyszłości!
Poza tym wygląda po prostu fajnie.
Krok 1: Pierwsze kroki
** AKTUALIZACJA **
**************************************************************************************************************************
Właściwie sprawiłem, że ten Instruktaż był nieco łatwiejszy. Zrefaktorowałem repozytorium na Github, aby automatycznie instalować, konfigurować i wdrażać loadbalancer HAProxy na wybranym Pi! Mniej kodu, mniej edycji, mniej szans na błąd i więcej szans na zabawę!
**************************************************************************************************************************
Przejdź do https://www.raspberrypi.org/downloads/raspbian/ i pobierz nową kopię Raspbian Stretch Lite.
Wyodrębnij plik. ZIP i zapisz plik.img na każdej karcie MicroSD dla każdego Pi w klastrze. Użytkownicy OSX, świetnym narzędziem do tego jest
Po wytrawieniu pliku.img na karcie MicroSD przejdź do karty w nowym oknie Findera lub Eksploratora plików - domyślnie powinno to mieć nazwę rozruch. Następnie utwórz nowy plik o nazwie SSH. Upewnij się, że nie wstawiasz niczego dla rozszerzenia pliku. Umożliwi to SSH na twoim Rpi3. Wyjmij kartę i umieść ją w swoim Pi. Powtórz ten krok dla pozostałych 2 Pi (lub dowolnej liczby, których ostatecznie użyjesz).
Krok 2: Konfiguracja sprzętu
W tym przykładzie założono klaster Rpi z 3 węzłami, a lista urządzeń znajduje się poniżej:
-
5-portowy przełącznik Ethernet x 1
https://www.amazon.ca/gp/product/B00QR6XFHQ/ref=oh…
-
5-portowy zasilacz USB x 1 **
https://www.amazon.ca/gp/product/B017R9IJTU/ref=oh…
-
Kable Ethernet x 4
https://www.amazon.ca/gp/product/B01J8KFTB2/ref=oh…
-
Kable zasilające USB 2. do Micro USB B x 3
https://www.amazon.ca/gp/product/B019U0V75W/ref=oh…
-
Raspberry Pi3 Model B x 3
https://www.amazon.ca/gp/product/B01CD5VC92/ref=od…
-
Radiatory x 6
https://www.amazon.ca/gp/product/B010ER7UN8/ref=od_aui_detailpages00?ie=UTF8&psc=1
* Ważne jest, aby używać zasilacza USB, który jest w stanie zasilić Raspberry Pi z minimalnym wymaganym napięciem roboczym
- Podłącz kabel Ethernet x1 z routera do przełącznika Ethernet.
- Podłącz kabel Ethernet x1 z przełącznika Ethernet do każdego z twoich Pi
- Podłącz x1 USB-do-MicroUSB z każdego z twoich Pi do zasilacza USB.
- Podłącz to wszystko i spójrz na mrugające światła
Chociaż nie jest to konieczne, ale chciałem, aby jeżyna wyglądała jak najfajniej i utrzymała wszystko w porządku. Postanowiłem odebrać 3 z tych skrzynek do układania w stos od Amazon. Nie uwzględniłem tego w tej instrukcji, ponieważ _technicznie_ nie jest to wymagane, ale w przypadku punktów estetycznych sugerowałbym pobranie niektórych.
www.amazon.ca/gp/product/B07BNDFXN9/ref=oh…
** Punkty bonusowe **
Zdecydowałem się na dodatkowe punkty dla nerdów i chciałem lepszego wizualnego wskazania, z którym serwerem mam interakcję. Miałem trochę zapasowej płyty prototypowej i kilka diod LED i rezystorów, więc szybko zhakowałem kilka płytek, aby położyć je na pinach GPIO pi. Idealnie użyłbym kilku żeńskich nagłówków, ale miałem tylko męskie, więc musiałem przyciąć kilka przewodów połączeniowych.
Jeśli chcesz iść tą drogą (ponieważ diody LED są niesamowite), będziesz chciał postępować zgodnie z tym samouczkiem pod adresem:
thepihut.com/blogs/raspberry-pi-tutorials/…
Krok 3: Skonfiguruj swoje Pi
Musisz znać adresy IP każdego z Pi w Twojej sieci lokalnej. Jeśli jesteś ninja CLI, powinno to być łatwe. Dla wszystkich innych możesz skorzystać z bezpłatnego skanera IP, takiego jak SuperScan (OSX). Zapisz adresy IP.
Następnie skopiuj swój klucz publiczny SSH do każdego ze swoich Pi, używając następującego polecenia z terminala:
ssh-copy-id
Przykład::
ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
Nie masz klucza SSH? Nie ma problemu! Po prostu biegnij:
ssh-keygen
w swoim terminalu i postępuj zgodnie z instrukcjami. Prawie jesteśmy na miejscu!
Krok 4: Zainstaluj Ansible
Jeśli dotarłeś tak daleko, gratulacje! Tylko kilka minut dzieli Cię od uruchomienia własnej rozproszonej sieci komputerowej.
Na lokalnym komputerze / laptopie będziesz chciał zainstalować Ansible z wiersza poleceń. Dla użytkowników komputerów Mac jest to:
sudo pip zainstalować ansible
Dla wszystkich innych odwiedź https://docs.ansible.com/ansible/latest/installat… dla swojego systemu operacyjnego.
Teraz będziesz chciał sklonować to repozytorium do folderu LUB pobrać plik. ZIP i rozpakować go do folderu na komputerze lokalnym.
github.com/Jtilley84/ansible-apache2-strona internetowa…
W tym repozytorium zobaczysz plik hosts.ini. Otwórz go w swoim ulubionym edytorze tekstu (lub nano lub vim):
[system równoważenia obciążenia]
pi-headnode ansible_host=192.168.0.228 # <--- Zmień to na adres IP Pi, na którym chcesz HAProxy.
[węzły]
node2 ansible_host=192.168.0.16 # <--- Zmień to na adres IP twojego drugiego Pi
node3 ansible_host=192.168.0.58 # <--- Zmień to na adres IP twojego trzeciego Pi
Otóż to! Aby uruchomić playbook, przejdź do folderu podstawowego repozytorium i wpisz w terminalu:
ansible-playbook playbook.yml
Krok 5: Gratulacje
Właśnie sprawiłeś, że magia komputerowa się wydarzyła. Gratulacje!
To tylko dowód koncepcji. W tym repozytorium Playbook wypycha unikalny plik index.html do każdego węzła, dzięki czemu można wizualnie debugować, czy działa, czy nie. W przypadku serwera produkcyjnego warto oczywiście edytować podręcznik, aby wdrożyć witrynę.
Jeśli masz jakieś pytania lub uwagi, chętnie je wysłucham! Sprawdź repozytorium Github i rozwidlej! Chętnie zobaczę, co wymyślisz.
Zalecana:
DIY AC/DC Hack "Mod" Zasilacz RD6006 i obudowa S06A W/S-400-60 Budowa i modernizacja zasilacza Wejście DC: 9 kroków
DIY AC/DC Hack "Mod" Zasilacz RD6006 i obudowa S06A W / S-400-60 PSU Budowa i ulepszone wejście DC: Ten projekt jest bardziej podstawową kompilacją RD6006 przy użyciu obudowy S06A i zasilacza S-400-60 . Ale naprawdę chcę mieć wybór między podłączeniem baterii w celu przenośności lub przerwy w zasilaniu. Więc również zhakowałem lub zmodyfikowałem obudowę, aby zaakceptować prąd stały lub baterię
Znak LED "NEON": 9 kroków (ze zdjęciami)
Znak LED „NEON”: W tym instruktażowym pokażę, jak zrobić imitację neonu z opcjami led i zdalnego sterowania. W amazon można znaleźć kompletne zestawy zdalnie sterowanych taśm led za około 25 USD. Możesz kontrolować kolor, jasność i/lub mieć pre-p
Instalacja Raspbian w Raspberry Pi 3 B bez HDMI - Pierwsze kroki z Raspberry Pi 3B - Konfiguracja Raspberry Pi 3: 6 kroków
Instalacja Raspbian w Raspberry Pi 3 B bez HDMI | Pierwsze kroki z Raspberry Pi 3B | Konfiguracja Raspberry Pi 3: Jak niektórzy z Was wiedzą, komputery Raspberry Pi są całkiem niesamowite i można mieć cały komputer tylko na jednej małej płytce. Raspberry Pi 3 Model B jest wyposażony w czterordzeniowy, 64-bitowy procesor ARM Cortex A53 taktowany zegarem 1,2 GHz. To daje Pi 3 około 50
HC - 06 (Moduł Slave) Zmiana "NAZWY" bez użycia "Monitor szeregowy Arduino" który "działa łatwo": bezbłędny sposób!: 3 kroki
HC - 06 (Moduł Slave) Zmiana "NAZWY" bez użycia "Monitor szeregowy Arduino"… który "Działa łatwo": Bezbłędny sposób!: Po " Długi czas " próba zmiany nazwy na HC - 06 (moduł podrzędny), używając " szeregowy monitor Arduino, bez " Sukces ", znalazłem inny łatwy sposób i udostępniam teraz ! Miłej zabawy kumple
3-osiowy ploter CNC - 60"x60"x5" - JunkBot: 5 kroków (ze zdjęciami)
3-osiowy router CNC - 60"x60"x5" - JunkBot: Ten Instructable jest pierwszym z serii dokumentującej budowę 3-osiowego routera CNC DIY. Jest to również mój wpis do konkursu Universal Laser Cutter Contest.Cel tego Instructable nie jest pokazywanie pełnej progresji krok po kroku, ale raczej