Како подесити кластер Raspberry Pi помоћу Docker-а

Последње ажурирање: КСНУМКС Септембер оф КСНУМКС
  • Инсталација и оптимизација Docker-а и Docker Compose-а на SBC плочама.
  • Напредна конфигурација мреже коришћењем жаришних тачака и управљања DNS/DHCP-ом.
  • Имплементација оркестрације контејнера помоћу Docker Swarm-а.
  • Централизовано управљање кластерима путем Portainer интерфејса.

Крупни план Raspberry Pi плоче у провидном кућишту, идеалан за илустрацију хардвера потребног за кластер.

Да ли сте икада размишљали о томе да имате сопствени минијатурни дата центар, а да не потрошите богатство на професионални хардвер? Па, подешавање кластера са Raspberry Pi-јем и Docker-ом је најзабавнији и најјефтинији начин да уђете у свет оркестрације контејнера и дистрибуираног рачунарства, идеално за експериментисање код куће са пројектима који би обично захтевали веома скупе сервере.

Лепота ове поставке је у томе што можете користити мале плоче попут Raspberry Pi-ја или чак друге једноплочне рачунаре (SBC) попут Orange Pi-ја или Banana Pi-ја да бисте створили окружење у којем апликације деле радно оптерећење. То је савршен пројекат за учење о високој доступности и скалабилности без страха од кварова нечег критичног, пошто се све дешава на вашој локалној мрежи.

Безбедност отвореног кода Homelab-а
Повезани чланак:
Безбедност кућне лабораторије помоћу алата отвореног кода

Припрема тла и хардвера

Руке подешавају плочу микроконтролера, што представља фазу склапања и припреме „уради сам“ хардвера.

За добар почетак, идеално је користити лагане верзије оперативног система, као што су Raspbian Lite или Armbian (у случају Orange Pi), јер нам није потребан графички интерфејс и желимо да посветимо сваки мегабајт RAM меморије обради. Веома користан трик је флешовање слика помоћу Etcher-а како би се избегле грешке при писању на microSD картицама.

Ако не желите да се мучите са УСБ мониторима и тастатурама за сваку матичну плочу, можете користити адаптер. USB на серијски порт повезан са RX и TX пиновима. Конфигурисање датотеке config.txt на партицији за покретање система додајући enable_uart=1Све можете управљати преко серијске конзоле користећи програме као што су PuTTY на Windows-у или Minicom на Linux-у, који је много удобније него што морате мењати HDMI каблове.

  Комплетан водич за web2py: детаљно објашњен Python веб фрејмворк

Оптимизација система и мреже

Програмер куца код на тастатури док екран приказује скрипте, савршено за одељак за инсталацију Докера.

Пре инсталирања Докера, препоручљиво је да припремите систем. Важно је да све ажурирате помоћу sudo apt update y sudo apt upgrade -yДа бисте уштедели ресурсе, можете ограничити меморију намењену видео запису у конфигурационој датотеци подешавањем gpu_mem=16па пустимо већину РАМ меморије Користи се за контејнере.

очвршћавање кућне лабораторијске VLAN мреже
Повезани чланак:
Ојачавање кућне лабораторије помоћу VLAN мрежа: комплетан водич за кућну безбедност

Што се тиче мреже, ако желите да ваш Raspberry Pi делује као главни чвор и управља осталима, можете заменити менаџера. dhcpcd по НетворкМанагершто је много робусније. Да бисте креирали сопствену мрежу за кластер, можете инсталирати dnsmasq да управља DHCP-ом и DNS-ом, и hostapd да се број Пи претвори у ВиФи приступна тачка (жаришта) где се остали чворови повезују.

Инсталирање Докера и Докер Компоуз-а

Рачунарски монитор који приказује податке о сајбер безбедности и линије кода, користан за илустрацију оркестрације и управљања кластерима.

Инсталирање Докера на Raspberry Pi 4 је деликатно јер има званичну подршку. Најбржи метод је покретање скрипте за аутоматску инсталацију помоћу команде. curl који преузима и конфигурише цео Докеров механизам. Да бисте избегли писање sudo у свакој команди се препоручује додај корисника Докер групи, иако морате бити опрезни са безбедношћу јер ово даје повећане привилегије.

Када је мотор инсталиран, важно је додати Доцкер Цомпосешто нам омогућава да дефинишемо апликације са више контејнера користећи YAML датотеку. Може се лако инсталирати путем pip, менаџер пакета Пајтон. Да бисте проверили да ли све исправно функционише, једноставно покрените слику hello-world и проверите да ли контејнер исправно ради.

  Трансформација животног циклуса развоја софтвера кроз вештачку интелигенцију

Оркестрација са Docker Swarm-ом

Технолошко радно окружење са лаптопом и штампаним плочама на столу, евоцирајући концепт „кућне лабораторије“ или кућне лабораторије.

Када инсталирате Docker на све ваше табле, време је да их обједините у Docker Swarm кластер . Swarm је Docker-ов изворни алат за претварање групе чворова у један виртуелни ресурс. Једноставно треба да покренете Swarm режим на главном чвору, а затим да се придружите радним чворовима користећи обезбеђени безбедносни токен.

Докер Сварм еџ
Повезани чланак:
Docker Swarm и Portainer Edge за имплементације на рубу мреже

Да бисте визуелно управљали целим овим распоређивањем и без заглављивања у терминалу, топло се препоручује да инсталирате Portainer за управљање вашим Docker контејнерима . Овај алат нуди веб интерфејс где можете да видите статус сервиса, активних чворова и управљате контејнерима уз само неколико кликова, што администрацију кластера чини много интуитивнијом.

Напредни трикови и повезивање

Ако се налазите у окружењу са мрежним ограничењима или блокадама, можете подесити OpenVPN тунел на главном чвору. Ово омогућава да сав саобраћај кластера дође до интернета преко VPN-а, заобилазећи проксије и заштитне зидове. Да бисте управљали саобраћајем између Swarm мрежа и ваше локалне мреже, алати попут Firehol-а помажу у креирању iptables правила на начин који је једноставнији за коришћење и лакши за коришћење.

Још један критичан детаљ је системско време. Пошто Raspberry Pi немају сат реалног времена (RTC), губе датум када се искључе. Идеално би било да инсталирате физички RTC модул (као што је DS3231) или конфигуришете NTP сервер на локалној мрежи тако да сви чворови буду синхронизовани, што је од виталног значаја за исправно функционисање логова и безбедносних сертификата.

  Комплетан водич за оптимизацију Линукс сервера

Постављање екосистема овог типа вам омогућава да трансформишете неколико једноставних табли у моћан алат за учење где можете да примените све, од веб сервера до дистрибуираних рачунарских система, интегришући управљање мрежом, безбедност тунела и оркестрацију контејнера у једном контролисаном окружењу.

напредни системски монитор за Линук
Повезани чланак:
Напредни системски монитор за Линук: Комплетан водич