Turing Pi - cluster board para sa mga self-host na application at serbisyo

Turing Pi - cluster board para sa mga self-host na application at serbisyo

Ang Turing Pi ay isang solusyon para sa mga self-host na application na binuo sa prinsipyo ng mga rack rack sa isang data center, sa isang compact motherboard lamang. Nakatuon ang solusyon sa pagbuo ng lokal na imprastraktura para sa lokal na pagpapaunlad at pagho-host ng mga aplikasyon at serbisyo. Sa pangkalahatan, ito ay tulad ng AWS EC2 para lamang sa gilid.

Kami, isang maliit na pangkat ng mga developer, ay nagpasya na lumikha ng isang solusyon para sa pagbuo ng mga bare-metal cluster sa gilid at tinawag ang proyektong Turing Pi. Ang produkto ay nagsimula bilang isang scratch project, ngunit ngayon, upang subukan ang kanilang mga konsepto, ito ay inutusan ng mga departamento ng pag-unlad sa Red Hat, Rancher (SUSE), Toyota Connected, Sony, Electrolux, Facebook, at isang audience ng mga developer na wala pang 10K ay nire-recruit.

Ngunit nagsimula ang lahat sa pagtuklas.

Pagtuklas ng produkto

Noong unang panahon, natuklasan ko na hindi tayo nag-iimbento ng anuman. Natuklasan natin ang lahat ng bagay na umiiral sa mundong ito. Natuklasan namin na ang ilang bahagi ay maaaring pagsama-samahin, pagkuha ng mga bagong katangian ng mga produkto, o natuklasan namin ang mga batas at pagkatapos ay pagsamahin muli ang mga ito. Hindi ka makakaisip ng anuman, ngunit matutuklasan mo ito sa panahon ng pagsasaliksik. Sa aking palagay, ang isang imbensyon ay resulta ng patuloy na pagmamasid, eksperimento at paghahanap + isang kumbinasyon ng kaalaman.

Sa nakalipas na dekada, napanood ko ang kilusang amateur homelab na nakakuha ng momentum (resource subreddit), self-hosted (mga mapagkukunan subreddit ΠΈ awesome-selfhosted), mga single-board na computer, habang lumalaki ang interes sa pagpapatakbo ng mga container sa mga single-board na computer tulad ng Raspberry Pi, dumarami ang paggalaw upang mag-assemble ng mga kumpol ng mga single-board na computer. Ang ideya ng Kubernetes ay unti-unting lumilipat doon. Ang magaan na bersyon nito, ang mga k3, na nakatutok sa Edge/IoT, ay lumitaw na. Ang malaking fast food chain na Chick-fil-A ay isa sa mga una sa mundo na nag-deploy ng mga kumpol ng Kubernetes sa mga kusina nito kubectl gawan mo ako ng sandwich.

Nakikita ko ito bilang isang snowball, habang ang isang teknolohiya ay bumabalot sa isa pa, na lumilikha ng isang mas kumplikadong sistema. Kasabay nito, walang kaguluhan, mas katulad ng isang fractal mula sa teknolohiya. Sa isa sa mga mahirap na sandali sa aking buhay para sa akin, nakita ko ang halaga sa mga kumpol na binuo mula sa mga single-board na computer ng mga baguhang developer at nagsimulang magtrabaho sa paglikha ng isang cluster board.

Ngayon ang aming cluster board ay napakasimple at pangunahing nakatuon sa mga mahilig sa cloud native na teknolohiya, matuto ng mga bagong bagay, at mag-eksperimento.

Mga Building Block

Kaya, kung ano ang solusyon, kung ano ang kakanyahan. Ang punto ay upang magbigay ng isang constructor, mga bloke ng gusali (Building Blocks) mula sa kung saan maaari kang mag-ipon ng imprastraktura sa gilid na mas mura kaysa sa mga klasikong server, mobile na walang malalaking metal na kahon, hindi hinihingi para sa mga espesyal na kondisyon ng operating tulad ng mga silid ng server, mahusay sa enerhiya, standardized sa mga tuntunin ng mga module at may kakayahang mabilis na mag-scale sa sampu at daan-daang computing node (processors).

Clusterboard

Ang Mini ITX board ay nagkokonekta ng maramihang mga compute module gamit ang isang on-board network, nagbibigay ng mga peripheral na interface at kontrol sa mga module

Compute Module

Isang board sa SO-DIMM form factor na naglalaman ng processor at RAM, opsyonal na flash memory para sa pag-iimbak ng operating system

Turing Pi - cluster board para sa mga self-host na application at serbisyo
Isa sa mga inaasahang pagsasaayos para sa Turing V2

Turing Pi - cluster board para sa mga self-host na application at serbisyo

Sa pamamagitan ng pagsasama-sama ng isang cluster board at mga module ng computing, madaling lumikha ng isang imprastraktura para sa, halimbawa, 20+ na mga processor (mga halimbawa sa ibaba), tahimik at may mababang paggamit ng kuryente. Ang cluster board mismo ay nagpapataas ng kahusayan ng ginamit na dami. Mga halimbawa ng mga kumpol para sa paghahambing

Nakabatay sa SBC*
Turing Pi - cluster board para sa mga self-host na application at serbisyo
24 na mga CPU
Nai-post ni Afkham Azeez

Batay sa Turing Pi
Turing Pi - cluster board para sa mga self-host na application at serbisyo
21 na mga CPU
May-akda ika3st0rmtr00p3r

* SBC - Single Board Computer

Ang co-founder ng Rancher Labs at ang may-akda ng k3s ay walang malasakit sa diskarteng ito.

Turing Pi - cluster board para sa mga self-host na application at serbisyo

Magbasa nang higit pa tungkol sa mga bloke ng gusali sa ibaba.

Compute Module

Para sa patunay ng konsepto, pinili namin ang Raspberry Pi Compute Module - ito ang perpektong configuration para magsimula. Aktibo ang komunidad ng RPi, walang mga problema sa software, ang module mismo ay nasa SO-DIMM na format (6 x 3 cm), abot-kaya, naglalaman sa board ng 4-core na CPU, 1 GB RAM at opsyonal na flash memory ng 8, 16 o 32 GB para sa OS at iba pang pangangailangan ng system. Ang form factor na ito ay kadalasang ginagamit sa mga pang-industriyang solusyon sa IoT.

Raspberry Pi 1/3/3+ Compute Module

Turing Pi - cluster board para sa mga self-host na application at serbisyo

Ngunit ang modelo ng CM3 ay mayroon ding malubhang limitasyon - max. 1 GB RAM at Ethernet sa pamamagitan ng USB HUB na may maximum na bilis na hanggang 100 Mbps. Samakatuwid, ang pangalawang bersyon ng Turing ay susuportahan ang Raspberry Pi 4 at hanggang sa 8 GB ng RAM bawat module. Nasa ibaba ang isang halimbawa ng mga module ng Nvidia Jetson para sa mga gawain sa Accelerated Computing. Marahil ay susuportahan sila sa pangalawang bersyon, kung malulutas natin ang ilang mga teknikal na problema, maaari nating paghaluin ang mga module.

Nvidia Jetson Compute Module

Turing Pi - cluster board para sa mga self-host na application at serbisyo

Ang mga module ay naglalaman ng pinakamahalagang tampok, na hindi halata sa unang tingin. Ang kakayahang gumawa ng iba pang mga module sa isang katulad na form factor na may ibang set ng CPU, RAM at eMMC, para sa iba't ibang uri ng mga gawain mula sa general-computing hanggang sa machine learning-intensive computing. Ito ay halos kapareho sa mga instance ng AWS EC2, ngunit para lamang sa gilid. Sa kasong ito, ang cluster board ay nananatiling hindi nagbabago o may maliliit na pagbabago.

Clusterboard

Maaari din itong tawaging motherboard o base board, isang medyo bagong direksyon at ngayon ay walang maraming mga tagagawa ng naturang mga solusyon at medyo nasa entry level pa rin, kasama ng mga ito Pine64, MiniNodes, Clover Pi, Bitscope Blade, PicoCluster (SBC clusters ). Ang cluster board ay nagkokonekta sa mga module sa isang network, nagbibigay ng kapangyarihan at nagbibigay ng isang cluster management bus (Cluster Management Bus), at least we decided to add this bus and it seems to have rooted.

harap
Turing Pi - cluster board para sa mga self-host na application at serbisyo

likod
Turing Pi - cluster board para sa mga self-host na application at serbisyo

Bandwidth ng Backplane 12 Gbps
Mga SD slot para sa mga module na walang eMMC, halimbawa, maaari kang magtago ng ilang module na may SD para sa mabilis na pag-access sa data ng node

Ang cluster board ay batay sa isang switch chip upang matiyak ang koneksyon sa network ng mga module at access sa isang panlabas na network. Sa kasalukuyang bersyon ay gumagamit kami ng hindi pinamamahalaang switch dahil Walang oras upang magsagawa ng ganap na R&D, ngunit para sa pangalawang bersyon pumili kami ng isang mahusay na pinamamahalaang switch. Posibleng i-configure ito sa mode na 'master node bilang router' upang ipamahagi ang network sa board; ito ay kung kinakailangan ang isang mas mataas na antas ng seguridad at paghihiwalay ng mga manggagawa mula sa labas ng access, kung saan kinakailangan ding panatilihin isang DHCP server sa master node.

Application

Ang kasalukuyang bersyon ay pang-eksperimento at ipinoposisyon namin ito bilang isang entry-level na solusyon upang matutunan kung ano ang mga cluster, gumana sa software, o bilang pagsubok ng mga hypotheses sa mga organisasyon, na naghahanap ng mga bagong ideya, sa pangkalahatan, ito ay isang Lite na bersyon.

Upang makapagsimula, inirerekomenda namin ang isang serye mula sa kahanga-hangang Jeff Girling, na nagbasa tungkol sa amin sa Y Combinator at siyang may-akda ng pinakamabentang aklat na Ansible para sa DevOps. Siya ay naging inspirasyon kaya gumawa siya ng 6 na bahagi na pagsusuri, simula sa ideya ng pag-cluster sa pangkalahatan hanggang sa mga praktikal na halimbawa ng pagtatrabaho sa board, pag-aaral ng Kubernetes at kung anong software ang maaaring i-install

Serye tungkol sa pag-install ng mga k3 sa isang cluster

Sa pangkalahatan, inirerekomenda kong manood mula sa una, doon sa pangkalahatan tungkol sa clustering at Kubernetes sa isang naa-access na wika. At ilang mga larawan mula sa komunidad

Turing Pi - cluster board para sa mga self-host na application at serbisyo

Ano ang susunod?

Una sa lahat, umaasa ako na ito ay kawili-wili. Ito ay ganap na orihinal na nilalaman, isang pagtatangka na tumingin sa kabila ng abot-tanaw. Pangalawa, plano kong magsulat ng pangalawang bahagi tungkol sa disenyo ng Turing V2. Paano naganap ang paghahanap para sa produkto, mga lohikal na paghatol, ang paghahanap para sa mga pangunahing katangian na mahalaga. Maglalaman ang artikulo ng mga sketch ng produkto mula sa pinakauna hanggang sa mga huling. Ang pangalawang artikulo ay magiging partikular na interes sa mga siyentipiko ng produkto, na responsable para sa mga produkto at kanilang pag-unlad sa mga kumpanya.

At malamang na magkakaroon talaga ng mahabang pagbasa.

Pinagmulan: www.habr.com

Magdagdag ng komento