Оглавление:

Raspberry Pi 3 «Bramble»: 5 шагов
Raspberry Pi 3 «Bramble»: 5 шагов

Видео: Raspberry Pi 3 «Bramble»: 5 шагов

Видео: Raspberry Pi 3 «Bramble»: 5 шагов
Видео: Raspberry Pi 3: обзор, первое включение, настройка – Часть 1 2024, Октября
Anonim
Малина Pi 3
Малина Pi 3

Развертывание веб-сервера Apache2 на масштабируемой «ежевике» Raspberry Pi3 Model B через балансировщик нагрузки HAProxy!

Я много занимаюсь веб-разработкой и много читал о настройке геоизбыточности и балансировщиков нагрузки, поэтому решил, что пришло время самому попробовать все это настроить. Я испытывал неудовольствие, что сервер выходит из строя, и хотел предотвратить повторение этого в будущем!

К тому же это просто круто смотрится.

Шаг 1. Начало работы

** ОБНОВИТЬ **

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

На самом деле я сделал это руководство немного проще. Я реорганизовал репозиторий на Github для автоматической установки, настройки и развертывания балансировщика нагрузки HAProxy на выбранном вами Pi! Меньше кода, меньше редактирования, меньше шансов на ошибку и больше шансов повеселиться!

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

Перейдите на https://www.raspberrypi.org/downloads/raspbian/ и загрузите новую копию Raspbian Stretch Lite.

Извлеките файл. ZIP и запишите.img на каждую карту MicroSD для каждого Pi в вашем кластере. Пользователи OSX, отличный инструмент для этого -

После того, как вы вставите.img на карту MicroSD, перейдите к карте в новом окне Finder или File Explorer - по умолчанию это должно называться boot. На этом создайте новое поле с именем SSH. Убедитесь, что вы ничего не указали для расширения файла. Это включит SSH на вашем Rpi3. Извлеките карту и поместите ее в свой Pi. Повторите этот шаг для оставшихся 2 Пи (или того количества, которое вы в конечном итоге используете).

Шаг 2: Настройка вашего оборудования

Настройка вашего оборудования
Настройка вашего оборудования
Настройка вашего оборудования
Настройка вашего оборудования

В этом примере предполагается 3-узловой кластер Rpi, а список оборудования приведен ниже:

  1. 5-портовый коммутатор Ethernet x 1

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

  2. 5-портовый USB-адаптер питания x 1 **

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

  3. Кабели Ethernet x 4

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

  4. Кабели питания USB 2. - Micro USB B x 3

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

  5. Raspberry Pi3 Модель B x 3

      https://www.amazon.ca/gp/product/B01CD5VC92/ref=od…

  6. Радиаторы x 6

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

* Важно использовать USB-адаптер питания, который может обеспечить Raspberry Pi минимально необходимым рабочим напряжением

  • Подключите кабель Ethernet x1 от маршрутизатора к коммутатору Ethernet.
  • Подключите кабель Ethernet x1 от коммутатора Ethernet к каждому из ваших Pi.
  • Подключите x1 USB-to-MicroUSB от каждого Pi к адаптеру питания USB.
  • Подключите все это и посмотрите на мигающие огни

Хотя это и не обязательно, но я хотел, чтобы ежевика выглядела как можно круче и чтобы все было немного аккуратнее. Я решил забрать 3 таких штабелируемых ящика на Amazon. Я не включил его в это руководство, поскольку он _технически_ не требуется, но из соображений эстетики я бы рекомендовал подобрать немного.

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

** Бонусные очки **

Я решил получить дополнительные очки ботаника и хотел лучше визуализировать, с каким сервером я взаимодействую. У меня была запасная плата, несколько светодиодов и резисторов, поэтому я быстро собрал несколько плат, чтобы положить их на контакты GPIO пианино. В идеале я бы использовал несколько женских разъемов, но у меня был только мужской, поэтому мне нужно было обрезать некоторые перемычки.

Если вы тоже хотите пойти по этому пути (потому что светодиоды прекрасны), вы захотите следовать этому руководству по адресу:

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

Шаг 3: Настройте свой Pi

Вам необходимо знать IP-адреса каждого Pi в вашей локальной сети. Если вы ниндзя CLI, это должно быть легко. Для всех остальных вы можете использовать бесплатный IP-сканер, например SuperScan (OSX). Запишите IP-адреса.

Затем скопируйте свой открытый ключ SSH на каждый из ваших Pi, используя следующую команду со своего терминала:

ssh-copy-id

Пример::

идентификатор-копии-ssh -i ~ /.ssh / id_rsa.pub [email protected]

Нет SSH-ключа? Без проблем! Просто беги:

ssh-keygen

в вашем терминале и следуйте подсказкам. Мы почти там!

Шаг 4: установите Ansible

Если вы зашли так далеко, поздравляем! Вы всего в нескольких минутах ходьбы от вашей собственной распределенной вычислительной сети.

На локальном компьютере / ноутбуке вы захотите установить Ansible из командной строки. Для пользователей Mac это:

sudo pip установить доступный

Для всех остальных, обратитесь к https://docs.ansible.com/ansible/latest/installat… для вашей ОС.

Теперь вам нужно клонировать это репо в папку ИЛИ загрузить. ZIP и извлечь его в папку на вашем локальном компьютере.

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

В этом репо вы увидите файл hosts.ini. Откройте его в своем любимом текстовом редакторе (или в nano или vim):

[балансировщик]

pi-headnode ansible_host = 192.168.0.228 # <--- Измените это на IP-адрес Pi, на котором вы хотите использовать HAProxy.

[узлы]

node2 ansible_host = 192.168.0.16 # <--- Измените это на IP-адрес вашего второго Pi

node3 ansible_host = 192.168.0.58 # <--- Измените это на IP-адрес вашего третьего Pi

Вот и все! Чтобы запустить playbook, перейдите в папку базового репо и введите в терминале следующее:

ansible-playbook playbook.yml

Шаг 5: Поздравляем

Image
Image
Поздравляю !!
Поздравляю !!

Вы только что сделали компьютерную магию. Поздравляю!

Это просто проверка концепции. В этом репозитории playbook отправляет уникальный файл index.html на каждый из узлов, чтобы вы могли визуально отладить, работает он или нет. Для производственного сервера вы, очевидно, захотите отредактировать playbook для развертывания вашего сайта.

Если у вас есть вопросы или комментарии, я буду рад их услышать! Пожалуйста, ознакомьтесь с репозиторием Github и раскошелитесь! Я хотел бы увидеть, что вы придумали.

Рекомендуемые: