Turing Pi er en løsning til selv-hostede applikationer bygget på princippet om rack-racks i et datacenter, kun på et kompakt bundkort. Løsningen er fokuseret på at opbygge en lokal infrastruktur til lokal udvikling og hosting af applikationer og tjenester. Generelt er det ligesom AWS EC2 kun for edge.
Vi, et lille team af udviklere, besluttede at skabe en løsning til at bygge bare-metal-klynger i kant og kaldte projektet Turing Pi. Produktet startede som et scratch-projekt, men nu, for at teste deres koncepter, er det blevet bestilt af udviklingsafdelinger hos Red Hat, Rancher (SUSE), Toyota Connected, Sony, Electrolux, Facebook, og et publikum af udviklere under 10K er bliver rekrutteret.
Men det hele startede med opdagelsen.
Produktopdagelse
Engang gjorde jeg den opdagelse, at vi ikke opfinder noget. Vi opdager alle ting, der findes i denne verden. Vi opdager, at nogle dele kan kombineres og opnå nye egenskaber ved produkter, eller vi opdager love og derefter kombinerer dem igen. Man kan ikke finde på noget, men man kan opdage det under research. Efter min mening er en opfindelse resultatet af konstant observation, eksperimentering og søgning + en kombination af viden.
I løbet af det sidste årti har jeg set amatør-homelab-bevægelsen tage fart (ressource
Jeg ser det som en snebold, da en teknologi omslutter en anden og skaber et mere komplekst system. Samtidig er der intet kaos, mere som en fraktal fra teknologi. På et af de ret svære øjeblikke i mit liv for mig, så jeg værdien i klynger, der er samlet fra enkeltkortscomputere af amatørudviklere, og begyndte at arbejde på at skabe et klyngekort.
I dag er vores klyngeboard meget simpelt og er primært rettet mod dem, der elsker cloud-native teknologier, lærer nye ting og eksperimenterer.
Byggesten
Så hvad er løsningen, hvad er essensen. Pointen er at skaffe en konstruktør, byggeklodser (Building Blocks), hvorfra du kan sammensætte kantinfrastruktur billigere end på klassiske servere, mobil uden voluminøse metalkasser, ikke krævende for specielle driftsforhold såsom serverrum, energieffektiv, standardiseret mht. af moduler og med evnen til hurtigt at skalere til tiere og hundreder af computerknudepunkter (processorer).
Clusterboard
Mini ITX-kort forbinder flere computermoduler ved hjælp af et indbygget netværk, giver perifere grænseflader og kontrol over modulerne
Beregningsmodul
Et kort i SO-DIMM-formfaktoren indeholdende en processor og RAM, eventuelt flashhukommelse til lagring af operativsystemet
En af de forventede konfigurationer til Turing V2
Ved at kombinere et klyngekort og computermoduler er det nemt at skabe en infrastruktur til for eksempel 20+ processorer (eksempler nedenfor), lydløs og med lavt strømforbrug. Selve klyngepladen øger effektiviteten af det brugte volumen. Eksempler på klynger til sammenligning
SBC baseret*
24 CPU'er
Indsendt af Afkham Azeez
Turing Pi baseret
21 CPU'er
Forfatter
* SBC - Single Board Computer
Medstifteren af Rancher Labs og forfatteren af k3s var ikke ligeglad med denne tilgang.
Læs mere om byggeklodser nedenfor.
Beregningsmodul
Som proof of concept valgte vi Raspberry Pi Compute Module - dette er den ideelle konfiguration til at starte med. RPi-fællesskabet er aktivt, der er ingen problemer med softwaren, selve modulet er i SO-DIMM-format (6 x 3 cm), er overkommeligt, indeholder en 4-core CPU, 1 GB RAM og valgfri flashhukommelse på 8, 16 eller 32 GB til OS og andre systembehov. Denne formfaktor bruges ofte i industrielle IoT-løsninger.
Raspberry Pi 1/3/3+ beregningsmodul
Men CM3-modellen har også alvorlige begrænsninger - max. 1 GB RAM og Ethernet via USB HUB med en maksimal hastighed på op til 100 Mbps. Derfor vil den anden version af Turing understøtte Raspberry Pi 4 og op til 8 GB RAM pr. modul. Nedenfor er et eksempel på Nvidia Jetson-moduler til Accelerated Computing-opgaver. Måske vil de blive understøttet i den anden version, hvis vi løser nogle tekniske problemer, så kan vi blande moduler.
Nvidia Jetson Compute-moduler
Modulerne indeholder den vigtigste funktion, som ikke er tydelig ved første øjekast. Muligheden for at skabe andre moduler i en lignende formfaktor med et andet sæt CPU, RAM og eMMC til forskellige typer opgaver fra generel databehandling til maskinlæringsintensiv databehandling. Dette minder meget om AWS EC2-instanser, men kun for edge. I dette tilfælde forbliver klyngebrættet uændret eller med mindre ændringer.
Clusterboard
Det kan også kaldes et bundkort eller bundkort, en ret ny retning, og i dag er der ikke mange producenter af sådanne løsninger og er stadig helt på startniveau, blandt dem Pine64, MiniNodes, Clover Pi, Bitscope Blade, PicoCluster (SBC-klynger) ). Klyngekortet forbinder modulerne med et netværk, giver strøm og giver en klyngestyringsbus (Cluster Management Bus), i det mindste besluttede vi at tilføje denne bus, og den ser ud til at have slået rod.
Front
Tilbage
Backplane båndbredde 12 Gbps
SD-slots til moduler uden eMMC, for eksempel kan du beholde et par moduler med SD for hurtig adgang til nodedata
Klyngekortet er baseret på en switch-chip for at sikre netværkstilslutning af moduler og adgang til et eksternt netværk. I den nuværende version bruger vi ikke-administreret switch, fordi Der var ikke tid til at udføre fuldgyldig R&D, men til den anden version valgte vi en god styret switch. Det er muligt at konfigurere det i 'master node som router'-tilstand for at distribuere netværket til kortet; dette er, hvis et højere niveau af sikkerhed og isolering af arbejdere fra ekstern adgang er påkrævet, i hvilket tilfælde det også er nødvendigt at holde en DHCP-server på masternoden.
Ansøgning
Den nuværende version er eksperimentel, og vi placerer den som en entry-level-løsning for at lære, hvad klynger er, arbejde med softwaren eller som test af hypoteser i organisationer, søgning efter nye ideer, generelt er dette en Lite-version.
For at komme i gang anbefaler vi en serie fra den vidunderlige Jeff Girling, som læste om os på Y Combinator og er forfatter til den bedst sælgende bog Ansible for DevOps. Han var så inspireret, at han lavede en 6-delt gennemgang, der startede fra ideen om klyngedannelse generelt til praktiske eksempler på at arbejde med bestyrelsen, studere Kubernetes og hvilken software der kan installeres
Serie om installation af k3s på en klynge
Generelt anbefaler jeg at se fra den første, der generelt om clustering og Kubernetes på et tilgængeligt sprog. Og nogle billeder fra fællesskabet
Hvad er det næste?
Først og fremmest håber jeg virkelig, at det var interessant. Dette er absolut originalt indhold, et forsøg på at se ud over horisonten. For det andet planlægger jeg at skrive en anden del om designet af Turing V2. Hvordan søgningen efter produktet foregik, logiske vurderinger, søgningen efter de vigtigste egenskaber, der er vigtige. Artiklen vil indeholde produktskitser fra de tidligste til de endelige. Den anden artikel vil være af særlig interesse for produktforskere, som er ansvarlige for produkter og deres udvikling i virksomheder.
Og højst sandsynligt bliver der rigtig lang læsning.
Kilde: www.habr.com