Turing Pi - papan cluster untuk aplikasi dan layanan yang dihosting sendiri

gambar



Turing Pi adalah solusi aplikasi yang dihosting sendiri yang dibangun berdasarkan prinsip rak rak di pusat data, hanya pada motherboard yang ringkas. Solusinya difokuskan pada pembangunan infrastruktur lokal untuk pengembangan lokal dan hosting aplikasi dan layanan. Pada dasarnya ini seperti AWS EC2 hanya untuk edge.



Kami, tim pengembangan kecil, memutuskan untuk membuat solusi untuk membangun cluster bare-metal di edge dan menamai proyek Turing Pi. Produk ini dimulai dari awal, tetapi sekarang departemen pengembangan di Red Hat, Rancher (SUSE), Toyota Connected, Sony, Electrolux, Facebook memerintahkannya untuk menguji konsep mereka, dan audiens pengembang di bawah 10K sedang merekrut.



Tapi semuanya dimulai dengan sebuah penemuan.



Penemuan produk



Suatu kali saya menemukan diri saya sendiri bahwa kita tidak menciptakan apa pun. Kami menemukan semua hal yang ada di dunia ini. Kami menemukan bahwa beberapa bagian dapat digabungkan bersama, mendapatkan properti produk baru atau menemukan hukum dan kemudian menggabungkan lagi. Anda tidak dapat memikirkan apa pun, tetapi Anda dapat membukanya sambil meneliti. Menurut pendapat saya, penemuan adalah hasil dari pengamatan, eksperimen, dan pencarian + kombinasi pengetahuan yang konstan.



Selama dekade terakhir, saya telah melihat homelab ( subreddit sumber daya ), selfhosted ( subreddit dan mengagumkan-selfhosted), komputer papan tunggal, karena minat dalam menjalankan wadah pada komputer papan tunggal seperti Raspberry Pi tumbuh, sebuah gerakan berkembang untuk mengumpulkan kelompok komputer papan tunggal. Lambat laun, ide Kubernetes juga berkembang di sana. Versi k3s yang ringan, dengan fokus pada Edge / IoT, telah muncul. Chick-fil-A, jaringan restoran cepat saji besar, adalah salah satu yang pertama di dunia yang menerapkan cluster Kubernetes di kubectl mereka, buatkan saya dapur sandwich .



Saya melihatnya sebagai bola salju, ketika satu teknologi membungkus teknologi lainnya, menciptakan sistem yang lebih kompleks. Pada saat yang sama, tidak ada kekacauan, lebih terlihat seperti fraktal dari teknologi. Pada salah satu momen yang agak sulit dalam hidup saya bagi saya, saya melihat nilai dalam cluster yang dirakit dari komputer papan tunggal oleh pengembang amatir dan mulai bekerja untuk membuat papan cluster.



Saat ini papan cluster kami sangat sederhana dan terutama ditujukan untuk mereka yang menyukai teknologi cloud native, mempelajari hal-hal baru, bereksperimen.



Blok bangunan



Jadi apa solusinya, apa esensinya. Intinya adalah menyediakan konstruktor, blok bangunan dari mana Anda dapat merakit infrastruktur edge lebih murah daripada di server klasik, seluler tanpa kotak logam besar, tidak menuntut kondisi operasi khusus seperti ruang server, hemat energi, terstandarisasi dalam hal modul dan dengan kemampuan untuk cepat. menskalakan hingga puluhan dan ratusan node komputasi (prosesor).

Papan Clusterboard



Mini ITX menghubungkan beberapa modul komputasi melalui jaringan on-board, menyediakan antarmuka periferal dan kontrol modul





Papan SO-DIMM Compute Module yang berisi prosesor dan RAM, memori flash opsional untuk penyimpanan sistem operasi

gambar

Salah satu konfigurasi yang diproyeksikan dari versi Turing V2

gambar
Dengan menggabungkan papan cluster dan modul komputasi, mudah untuk membuat infrastruktur, misalnya, 20+ prosesor (contoh di bawah), hening dan konsumsi daya rendah. Papan cluster itu sendiri meningkatkan efisiensi ruang yang digunakan. Contoh cluster untuk perbandingan

Berbasis SBC *

gambar

24 CPU

Oleh Afkham Azeez

Turing Pi berbasis

gambar

21 CPU

Oleh th3st0rmtr00p3r

* SBC -



Co-founder Single Board Computer dari Rancher Labs dan penulis k3s, pendekatan ini tidak membuat siapa pun acuh tak acuh.



gambar



Baca terus untuk detail lebih lanjut tentang blok penyusun .



Modul Hitung



Untuk bukti konsep, kami memilih Raspberry Pi Compute Module, yang merupakan konfigurasi sempurna untuk memulai. Komunitas RPi aktif, tidak ada masalah dengan perangkat lunak, modul itu sendiri dalam format SO-DIMM (6 x 3 cm), terjangkau, berisi CPU 4-core, RAM 1 GB dan memori flash opsional 8, 16 atau 32 GB untuk OS dan kebutuhan sistem lainnya. Faktor bentuk ini sering digunakan dalam solusi IoT industri.



Raspberry Pi 1/3/3 + Modul Hitung



gambar



Tetapi model CM3 juga memiliki batasan serius - maks. RAM 1 GB dan Ethernet melalui USB HUB dengan kecepatan maksimum hingga 100 Mbps. Oleh karena itu, versi kedua Turing akan mendukung Raspberry Pi 4 dan RAM hingga 8 GB per modul. Di bawah ini adalah contoh modul Nvidia Jetson untuk tugas-tugas Accelerated Computing. Mungkin akan ada dukungan untuk mereka di versi kedua, jika kami menyelesaikan beberapa masalah teknis, maka kami dapat mencampur modul.



Modul Hitung Nvidia Jetson



gambar



Fitur terpenting terletak pada modul, yang sekilas tidak terlihat jelas. Kemampuan untuk membuat modul lain dalam faktor bentuk yang serupa dengan kumpulan CPU, RAM, dan eMMC yang berbeda, untuk berbagai jenis tugas dari komputasi umum hingga komputasi intensif pembelajaran mesin. Ini sangat mirip dengan instans AWS EC2, tetapi hanya untuk edge. Dalam kasus ini, papan cluster tetap tidak berubah atau dengan perubahan kecil.



Papan cluster



Ini juga bisa disebut motherboard atau alas tiang, arah yang cukup baru dan tidak banyak produsen solusi seperti itu saat ini dan masih cukup di level awal, di antaranya Pine64, MiniNodes, Clover Pi, Bitscope Blade, PicoCluster (SBC cluster). Papan cluster menghubungkan modul dengan jaringan, memberikan daya dan menyediakan Bus Manajemen Cluster, setidaknya kami memutuskan untuk menambahkan bus ini dan tampaknya telah mengakar.

Depan

gambar

Kembali

gambar

Bandwidth Bidang Belakang 12 Gbps Slot SD untuk modul tanpa eMMC, misalnya, Anda dapat menyimpan beberapa modul dengan SD untuk akses cepat ke data node
Papan cluster didasarkan pada chip sakelar untuk menyediakan koneksi jaringan modul dan akses ke jaringan eksternal. Di versi saat ini, kami menggunakan sakelar tidak terkelola karena tidak ada waktu untuk melakukan R&D lengkap, tetapi untuk versi kedua kami memilih tombol yang dikelola dengan baik. Dimungkinkan untuk mengkonfigurasi dalam mode 'node master sebagai router' untuk mendistribusikan jaringan ke papan, ini jika tingkat keamanan yang lebih tinggi dan isolasi pekerja dari akses luar diperlukan, dalam hal ini server DHCP juga harus disimpan pada node master.



Aplikasi



Versi saat ini bersifat eksperimental dan kami memposisikannya sebagai solusi tingkat awal untuk mempelajari apa itu cluster, bekerja dengan perangkat lunak, atau sebagai pengujian hipotesis dalam organisasi, mencari ide-ide baru, secara umum, seperti versi Lite.



Untuk membantu Anda memulai, kami merekomendasikan sebuah episode oleh Jeff Geerling yang hebat, yang membaca tentang kami di Y Combinator dan penulis buku terlaris Ansible for DevOps. Dia sangat terinspirasi sehingga dia membuat ulasan 6 bagian mulai dari gagasan pengelompokan secara umum hingga contoh praktis bekerja dengan papan, mempelajari Kubernetes dan perangkat lunak apa yang dapat diinstal



Seri tentang menginstal k3s pada sebuah cluster





Secara umum, saya merekomendasikan untuk melihat dari awal, di sana, secara umum, tentang pengelompokan dan Kubernetes dalam bahasa yang dapat diakses. Dan beberapa gambar dari komunitas



gambar



Apa berikutnya?



Pertama, saya sangat berharap itu menarik. Ini benar-benar konten penulis, upaya untuk melihat melampaui cakrawala. Kedua, saya berencana untuk menulis bagian kedua tentang mendesain Turing V2. Bagaimana pencarian produk, penilaian logis, pencarian properti utama yang penting. Artikel tersebut akan berisi sketsa produk dari yang paling awal hingga yang terakhir. Artikel kedua akan menjadi perhatian khusus bagi insinyur produk yang bertanggung jawab atas produk dan pengembangannya di perusahaan.



Dan kemungkinan besar akan ada pembacaan yang sangat lama.



All Articles