
A Turing Pi egy megoldás self-hostolt alkalmazások számára, amely rack állványok elvére épül az adatközpontban, csak egy kompakt alaplapon. A megoldás a helyi infrastruktúra kiépítésére, valamint alkalmazások és szolgáltatások helyi fejlesztésére és hosztolására összpontosít. Röviden, ez olyan, mint az AWS EC2, de edge környezetben.
Mi egy kis fejlesztőcsapat vagyunk, és úgy döntöttünk, hogy létrehozunk egy megoldást bare-metal klaszterek kiépítésére az edge környezetben, és elneveztük a projektet Turing Pi-nak. A termék ‘félkészen’ indult, de most már a Red Hat, Rancher (SUSE), Toyota Connected, Sony, Electrolux, Facebook fejlesztési osztályai rendelik meg a koncepcióink tesztelésére, és közel 10 ezer fős fejlesztői közönséget gyűjtünk.
De minden azzal kezdődött, hogy felfedeztünk valamit.
A termék felfedezése
Egyszer felfedeztem, hogy nem inventálunk semmit. Minden dolog, ami létezik ebben a világban, felfedezés tárgyát képezi. Felfedezzük, hogy bizonyos részeket össze lehet kombinálni, új tulajdonságokat hozva létre, vagy felfedezünk törvényeket, majd újra kombinálunk. Semmit sem lehet kitalálni, de a kutatás során felfedezhetjük. Véleményem szerint a találmány folyamatos megfigyelések, kísérletek és keresés + tudás kombinációjának eredménye.
Az elmúlt évtizedben figyelemmel kísértem, hogyan terjedt el a homelab vállalkozó kedv, az , a self-hosted (források és ), az egylapos számítógépek, és hogyan nőtt az érdeklődés a konténerek egylapos számítógépeken, például a Raspberry Pi-n való futtatása iránt, és a kétlapos számítógépekből álló klaszterek építésének mozgalma. fokozatosan a Kubernetes eszméje is betör ide. A Chick-fil-A gyorsétteremlánc az elsők között alakított ki Kubernetes klasztereket a konyhájában. .
Ezt úgy látom, mint egy hógolyót, ahogy egy technológia körbeöleli a másikat, egy komplexebb rendszert alkotva. Eközben nincs káosz, inkább úgy tűnik, mint egy technológiákból álló fraktál. Életem egyik meglehetősen nehéz pillanataiban észrevettem az értékét a klasztereknek, amelyeket amatőr fejlesztők egylapos számítógépekből építenek, és elkezdtem dolgozni egy klaszter alaplap létrehozásán.
Ma a klaszter alaplapunk nagyon egyszerű, és elsősorban azoknak szól, akik szeretik a cloud native technológiákat, új dolgokat tanulmányoznak és kísérleteznek.
Építőelemek (Building Blocks)
Tehát mi is az a megoldás, miről van szó. Az a lényeg, hogy egy olyan építőkészletet adjon, olyan építőelemeket (Building Blocks), amelyekből olcsóbban össze lehet állítani a perem infrastruktúrát, mint klasszikus szerverek esetén, mobil megoldásként, nagyméretű fém dobozok nélkül, különleges üzemeltetési feltételek nélküli, energiahatékony, modulok szempontjából szabványosított, és lehetőséget ad a gyors skálázásra, akár több tucat vagy száz számítási csomópont (processzor) számára.
Clusterboard
A Mini ITX lap több számítási modult egyesít az alaplapon lévő hálózat segítségével, perifériás interfészeket biztosít, és ellenőrzést biztosít a modulok felett.
Compute Module
Egy SO-DIMM formátumú lap, amely tartalmazza a processzort és a RAM-ot, opcionálisan flash memóriát az operációs rendszer tárolására.

Az egyik tervezett konfiguráció a Turing V2 verzióhoz.

A clusterboard és a számítási modulok kombinálásával könnyen létrehozható például egy 20+ processzorból álló infrastruktúra (példák lásd lent), csendes és alacsony energiafogyasztással. Maga a clusterboard növeli a felhasznált tér hatékonyságát. Összehasonlításképpen példák a klaszterekre.
SBC based*

24 CPU
Szerző: Afkham Azeez
Turing Pi based

21 CPU
Szerző:
* SBC — Single Board Computer
A Rancher Labs társalapítója és a k3s szerzője számára ez a megközelítés nem maradt közömbös.

További részletek az építőelemekről.
Compute Module
A koncepció ellenőrzéséhez a Raspberry Pi Compute Module-t választottuk, amely ideális konfiguráció a kezdéshez. Az RPi közössége aktív, nincs szoftverprobléma, maga a modul SO-DIMM formátumban (6 x 3 cm) elérhető áron, 4-core CPU-t, 1 GB RAM-ot és opcionálisan 8, 16 vagy 32 GB flash memóriát tartalmaz az operációs rendszer és más rendszerszükségletek számára. Az ilyen formátumot gyakran használják az ipari IoT megoldásokban.
Raspberry Pi 1/3/3+ Compute Module

De a CM3 modellnek komoly korlátai is vannak — max. 1 GB RAM és Ethernet USB HUB-on át, maximális sebességgel 100 Mbps-ig. Ezért a második verzió a Raspberry Pi 4-et és a modulonként maximum 8 GB RAM-ot fog támogatni. Lent látható az Nvidia Jetson modulok példája az Accelerated Computing feladatokhoz. Lehetséges, hogy a második verzióban támogatni fogjuk őket, ha néhány technikai kérdést megoldunk, akkor modulokat lehet keverni.
Nvidia Jetson Compute Modules

A modulok rejtették el a legfontosabb lehetőséget, amely első pillantásra nem nyilvánvaló. A lehetőség, hogy más modulokat hozzunk létre hasonló formátumban, különböző CPU, RAM és eMMC kombinációkkal, különböző feladatokhoz, az általános számítástól a gépi tanulásig terjedően. Ez nagyon hasonlít az AWS EC2 példányokra, de csak az edge számára. A klaszterező alaplap viszont változatlan marad, vagy csak kisebb módosításokkal.
Clusterboard
Ezt az alaplapot alaplapnak vagy főlapnak is nevezhetjük, elég új irányzat, és ma nem sok gyártó foglalkozik hasonló megoldásokkal, ezek közül is csak néhány van a kezdeti szinten, mint például a Pine64, MiniNodes, Clover Pi, Bitscope Blade, PicoCluster (SBC klaszterek). A klaszterező alaplap összekapcsolja a modulokat hálózaton keresztül, biztosítja az áramellátást, és biztosítja a klaszterkezelő buszt (Cluster Management Bus), legalábbis mi ezt a buszt hozzáadtuk, és úgy tűnik, hogy elnyerte a tetszésünket.
Elől

Vissza

Háttérsávszélesség 12 Gbps
SD nyílások modulok számára eMMC nélkül, például tarthatunk pár modult SD-n a node-ok gyors adat-hozzáféréséhez
A klaszterező alaplap alapja egy switch chip, amely lehetővé teszi a modulok hálózati kapcsolatát és a külső hálózatra való kimenetet. A jelenlegi verzióban unmanaged switch-t használunk, mert nem volt időnk teljes körű kutatás-fejlesztésre, de a második verzióhoz egy jó managed switch-et választottunk. Lehetséges a 'mester node mint router' konfigurálása a boardhoz való hálózati megosztás érdekében, ha szükség van magasabb szintű biztonságra és a worker-ek izolálására a külső hozzáféréstől, ilyenkor a mester node-on DHCP szervert is kell tartani.
Alkalmazás
A jelenlegi verzió kísérleti, és mint kezdő szintű megoldásként pozicionáljuk, amely lehetőséget ad arra, hogy megismerkedjünk a klaszterek fogalmával, dolgozzunk a szoftverrel, vagy mint hipotézis tesztelésére a szervezeteknél, új ötletek keresése érdekében, egyfajta Lite verzióként.
A kezdethez ajánljuk Jeff Geerling csodálatos sorozatát, aki a Y Combinatoron keresztül hallott rólunk, és ő az Ansible for DevOps bestseller szerzője. Annyira inspirálta a téma, hogy készített egy hatrészes áttekintést, amely a klaszterezés alapötletétől a gyakorlati példákig terjed, beleértve a deszkát, a Kubernetes-t és a telepíthető szoftvereket.
Sorozat a k3s telepítéséről a klaszterbe

Egyébként ajánlom, hogy az elsőtől nézzék, ott alapvetően a klaszterezésről és a Kubernetes-ről van szó közérthető nyelven. És néhány kép a közösségtől.

Mi következik?
Először is, nagyon remélem, hogy érdekes volt. Ez egy teljesen egyedi tartalom, kísérlet, hogy bepillantást nyújtson a horizonton túl. Másodszor, tervezem, hogy megírom a második részt a Turing V2 tervezéséről. Hogyan zajlott a termék keresése, logikai következtetések, a legfontosabb jellemzők keresése, amelyek lényegesek. A cikk tartalmazni fogja a termék vázlatait a legkorábbiaktól a véglegesekig. A második cikk különösen érdekes lesz a termékfejlesztők számára, akik felelősek a termékekért és azok fejlesztéséért a vállalatoknál.
És valószínűleg tényleg hosszú olvasmány lesz.
Forrás: habr.com
