
Turing Pi este o soluție pentru aplicații self-hosted construită pe principiul rack-urilor într-un centru de date, doar pe o placă de bază compactă. Soluția se concentrează pe construirea unei infrastructuri locale pentru dezvoltarea locală și găzduirea de aplicații și servicii. În general, este ca AWS EC2 numai pentru edge.
Noi, o echipă mică de dezvoltatori, am decis să creăm o soluție pentru construirea de clustere bare-metal în edge și am numit proiectul Turing Pi. Produsul a început ca un proiect scratch, dar acum, pentru a le testa conceptele, a fost comandat de departamentele de dezvoltare de la Red Hat, Rancher (SUSE), Toyota Connected, Sony, Electrolux, Facebook, iar o audiență de dezvoltatori sub 10K este fiind recrutat.
Dar totul a început cu descoperirea.
Descoperirea produsului
Am descoperit odată că noi nu inventăm nimic. Descoperim toate lucrurile care există în această lume. Descoperim că unele părți pot fi combinate între ele, obținând noi proprietăți ale produselor, sau descoperim legi și apoi le combinăm din nou. Nu poți veni cu nimic, dar îl poți descoperi în timpul cercetării. După părerea mea, o invenție este rezultatul observării constante, experimentării și căutării + o combinație de cunoștințe.
În ultimul deceniu, am urmărit cum mișcarea amatorilor de laborator a câștigat avânt (resursa ), auto-găzduit (resurse и ), computere cu o singură placă, pe măsură ce interesul pentru rularea containerelor pe computere cu o singură placă, cum ar fi Raspberry Pi, crește, există o mișcare tot mai mare de a asambla grupuri de computere cu o singură placă. Ideea Kubernetes se mișcă treptat acolo. Versiunea sa ușoară, k3s, axată pe Edge/IoT, a apărut deja. Lanțul mare de fast-food Chick-fil-A este unul dintre primii din lume care implementează clustere Kubernetes în bucătăriile sale .
Îl văd ca pe un bulgăre de zăpadă, pe măsură ce o tehnologie se înfășoară pe alta, creând un sistem mai complex. În același timp, nu există haos, mai mult ca un fractal din tehnologie. Într-unul dintre momentele destul de dificile din viața mea pentru mine, am văzut valoarea clusterelor care sunt asamblate de pe computere cu o singură placă de către dezvoltatori amatori și am început să lucrez la crearea unei plăci de cluster.
Astăzi, placa noastră de cluster este foarte simplă și se adresează în primul rând celor care iubesc tehnologiile cloud native, învață lucruri noi și experimentează.
Blocuri de construcție
Deci, care este soluția, care este esența. Ideea este să oferiți un constructor, blocuri de construcție (Building Blocks) din care puteți asambla o infrastructură edge mai ieftină decât pe serverele clasice, mobil fără cutii metalice voluminoase, care nu necesită condiții speciale de funcționare precum săli de servere, eficiente energetic, standardizate din punct de vedere al consumului. de module și cu capacitatea de a scala rapid pe zeci și sute de noduri de calcul (procesoare).
Clusterboard
Placa Mini ITX conectează mai multe module de calcul folosind o rețea la bord, oferă interfețe periferice și control asupra modulelor
Modulul de calcul
O placă în format SO-DIMM care conține un procesor și RAM, opțional memorie flash pentru stocarea sistemului de operare

Una dintre configurațiile proiectate pentru Turing V2

Combinând o placă de cluster și module de calcul, este ușor să creați o infrastructură pentru, de exemplu, peste 20 de procesoare (exemple de mai jos), silențioase și cu un consum redus de energie. Placa cluster în sine crește eficiența volumului utilizat. Exemple de clustere pentru comparație
bazat pe SBC*

24 de procesoare
Postat de Afkham Azeez
Bazat pe Turing Pi

21 de procesoare
Autor
* SBC - Computer singleboard
Cofondatorul Rancher Labs și autorul cărții k3s nu a fost indiferent față de această abordare.

Citiți mai multe despre blocurile de construcție de mai jos.
Modulul de calcul
Pentru dovada conceptului, am ales modulul de calcul Raspberry Pi - aceasta este configurația ideală pentru a începe. Comunitatea RPi este activă, nu există probleme cu software-ul, modulul în sine este în format SO-DIMM (6 x 3 cm), este accesibil, conține la bord un procesor cu 4 nuclee, 1 GB RAM și memorie flash opțională de 8, 16 sau 32 GB pentru OS și alte necesități de sistem. Acest factor de formă este adesea folosit în soluțiile industriale IoT.
Modul de calcul Raspberry Pi 1/3/3+

Dar modelul CM3 are si limitari serioase - max. 1 GB RAM și Ethernet prin USB HUB cu o viteză maximă de până la 100 Mbps. Prin urmare, a doua versiune de Turing va suporta Raspberry Pi 4 și până la 8 GB RAM per modul. Mai jos este un exemplu de module Nvidia Jetson pentru sarcini de calcul accelerat. Poate că vor fi suportate în a doua versiune, dacă rezolvăm unele probleme tehnice, atunci putem amesteca module.
Module de calcul Nvidia Jetson

Modulele conțin cea mai importantă caracteristică, care nu este evidentă la prima vedere. Abilitatea de a crea alte module într-un factor de formă similar cu un set diferit de CPU, RAM și eMMC, pentru diferite tipuri de sarcini, de la calcul general până la calcul intensiv în învățarea automată. Acest lucru este foarte asemănător cu instanțele AWS EC2, dar numai pentru edge. În acest caz, placa cluster rămâne neschimbată sau cu modificări minore.
Clusterboard
Se mai poate numi și o placă de bază sau o placă de bază, o direcție destul de nouă și astăzi nu există mulți producători de astfel de soluții și sunt încă destul de la entry level, printre care Pine64, MiniNodes, Clover Pi, Bitscope Blade, PicoCluster (clustere SBC). ). Placa cluster conectează modulele cu o rețea, furnizează energie și asigură o magistrală de management cluster (Cluster Management Bus), cel puțin am decis să adăugăm această magistrală și se pare că a prins rădăcină.
Față

înapoi

Lățimea de bandă a panoului de fundal 12 Gbps
Sloturi SD pentru module fără eMMC, de exemplu, puteți păstra câteva module cu SD pentru acces rapid la datele nodului
Placa de cluster se bazează pe un cip comutator pentru a asigura conexiunea la rețea a modulelor și accesul la o rețea externă. În versiunea actuală folosim comutatorul negestionat deoarece Nu a fost timp să efectuăm cercetare și dezvoltare cu drepturi depline, dar pentru a doua versiune am ales un comutator bine gestionat. Este posibil să îl configurați în modul „nod master ca router” pentru a distribui rețeaua pe placă; asta dacă este necesar un nivel mai ridicat de securitate și izolarea lucrătorilor de accesul din exterior, caz în care este necesar să se păstreze un server DHCP pe nodul master.
cerere
Versiunea actuală este experimentală și o poziționăm ca o soluție entry-level pentru a afla ce sunt clusterele, a lucra cu software-ul sau ca testarea ipotezelor în organizații, în căutarea de idei noi, în general, aceasta este o versiune Lite.
Pentru a începe, vă recomandăm o serie de la minunatul Jeff Girling, care a citit despre noi la Y Combinator și este autorul celei mai bine vândute cărți Ansible for DevOps. A fost atât de inspirat încât a făcut o revizuire în 6 părți, pornind de la ideea de grupare în general până la exemple practice de lucru cu placa, studierea Kubernetes și ce software poate fi instalat
Seria despre instalarea k3s pe un cluster

În general, recomand să vizionați din primul, acolo în general despre clustering și Kubernetes într-un limbaj accesibil. Și câteva poze din comunitate

Ce urmeaza?
În primul rând, chiar sper că a fost interesant. Acesta este un conținut absolut original, o încercare de a privi dincolo de orizont. În al doilea rând, intenționez să scriu o a doua parte despre designul lui Turing V2. Cum a avut loc căutarea produsului, judecăți logice, căutarea principalelor proprietăți care sunt importante. Articolul va conține schițe ale produselor de la cele mai vechi până la cele finale. Cel de-al doilea articol va fi de interes deosebit pentru oamenii de știință de produse, care sunt responsabili pentru produse și dezvoltarea lor în companii.
Și cel mai probabil va fi o lectură foarte lungă.
Sursa: www.habr.com
