Runtime container yang sudah matang: containerd menjadi lulusan CNCF

Kami telah mengikuti proyek contenterd sejak awal . Oleh karena itu, kami tidak dapat mengabaikan acara penting: tadi malam, organisasi CNCF di belakang Kubernetes dan solusi Open Source lainnya yang luar biasa untuk dunia asli cloud mengumumkan mengandung "lulusannya". Proyek ini sudah yang kelima dengan status ini, bergabung dengan jajaran K8, Prometheus, Utusan dan CoreDNS.



Kriteria CNCF


CNCF, yang saat ini mendukung puluhan proyek Open Source, telah mengadopsi tiga kategori untuk klasifikasi mereka:

  1. Sandbox ("sandbox") - untuk perkembangan paling awal , eksperimental, tetapi menjanjikan yang (di masa depan) "menambah nilai misi CNCF", yaitu. akan berkontribusi pada pengembangan ekosistem Sumber Terbuka dan komunitas yang dibentuk di sekitar infrastruktur untuk aplikasi cloud asli modern. Ada 12 proyek semacam itu.
  2. Inkubator (β€œinkubator”) - untuk proyek yang memiliki setidaknya tiga pengguna (terdokumentasi dan independen) dalam produksi, di mana tingkat kualitas dan skala yang memadai (menurut komite teknis) disediakan, serta memiliki jumlah kontributor yang memadai dengan bit komitmen dan pengembangan basis kode yang stabil. Ada 15 di antaranya.
  3. Wisuda - untuk proyek-proyek dengan komuter dari setidaknya dua organisasi, lencana kepatuhan dengan praktik terbaik CII (Core Infrastructure Initiative) yang diadopsi oleh Pedoman Perilaku CNCF , skema manajemen dan penerimaan yang jelas, daftar pengguna yang terbuka, dan, tentu saja, positif hasil pemungutan suara yang sesuai oleh komite teknis CNCF. Sekarang ada 5 dari mereka.



Singkatnya, kesiapan proyek untuk "rilis" di CNCF dirumuskan sebagai "adaptasi yang berkembang pesat, orisinalitas, proses manajemen formal dan komitmen yang kuat untuk komunitas yang berkelanjutan dan inklusif". The contenterd, ditransfer oleh Docker ke CNCF hampir 2 tahun yang lalu, sekarang diakui memenuhi kriteria ini.

mengandungerd: asal dan sekarang


Proyek contenterd berasal dari waktu ketika pohon Docker besar. Pada 2015, pengembangnya mengumumkan bahwa sudah waktunya untuk membuat Docker Engine lebih kompak (cepat, andal, portabel ...), dan karenanya mulai membawa komponennya ke proyek terpisah .

Semuanya dimulai dengan pengumuman alat peluncuran kontainer runc (2015), kemudian runtime contenterd untuk kontainer (2016) muncul, dan setahun kemudian inisiatif ini menjadi lebih global dan membawa kami Moby .


Ilustrasi untuk rilis Docker 1.11 (April 2016): Docker Engine dan komponen yang dihapus darinya

Kembali ke daftar isi. Singkatnya, peran fungsionalnya dikurangi (dan ini tidak berubah hingga hari ini) menjadi fakta bahwa, sebagai daemon pada sistem host, ia mengatur seluruh siklus hidup wadah: dari menerima dan menyimpan gambar hingga meluncurkan wadah (melalui runc yang telah disebutkan) dan mengendalikan pekerjaannya. Pada bulan Maret 2017, setahun setelah pemisahan wadah, Docker memindahkannya ke CNCF , yang terjadi secara bersamaan dengan inisiatif serupa dari CoreOS yang disebut rkt (kami akan kembali ke sana) .

Perkembangan lebih lanjut termasuk kemunculan dan pengembangan (dipimpin oleh Red Hat) dari pesaing berorientasi Kubernetes yang disebut CRI-O * ... dan "respons" cermin Docker Inc. dalam bentuk cri-containerd .

Untuk berinteraksi dengan K8, daemon khusus (self-titled) digunakan dalam cri-containerd, dan pada versi 1.1 solusinya berubah menjadi plug-in untuk lingkungan runtime container baru Kubernetes - Container Runtime Interface (CRI) - dan di sini plug-in berkomunikasi langsung dengan containerd ( memanggil fungsi yang diperlukan).



Pada bulan Juni 2018, diumumkan bahwa plugin contenterd CRI siap untuk diproduksi. Repositori proyek saat ini adalah contenterd / cri .

* Sangat menarik untuk dicatat bahwa aplikasi yang diajukan pada bulan November 2018 untuk dimasukkannya daftar isi pesaing dan rkt - CRI-O - dalam proyek-proyek CNCF belum disetujui oleh organisasi.

Saat ini, containerd dengan sembarangan menyebut dirinya "lingkungan wadah yang dapat dieksekusi yang merupakan standar industri dan berfokus pada kesederhanaan, keandalan, dan portabilitas":



Arsitektur aktual dari solusi wadah menggunakan contenterd (sebagian besar, tentu saja, mereka berfokus pada Kubernetes, tetapi secara formal mereka tidak terbatas pada platform ini) , muncul sebagai berikut:



Solusinya sendiri datang dalam bentuk daemon untuk Linux (kernel versi 4.x direkomendasikan , meskipun opsi dengan versi sebelumnya dimungkinkan) dan Windows. Kode sumber ditulis dalam Go (versi 1.9.x + diperlukan ).

Rilis terbaru dari kontenerd adalah 1.2.4 (tanggal 14 Februari 2019) , di mana kerentanan CVE-2019-5736 dalam runc diperbaiki. Tonggak berikutnya adalah versi 1.3 , di mana inovasi seperti grup wadah , optimalisasi kinerja untuk operasi tarikan gambar, berbagai peningkatan dalam bekerja dengan snapshotter dan yang lainnya diharapkan.

Proyek ini memiliki 3500+ bintang di GitHub, 14 komuter dan 166 kontributor dari perusahaan (kecuali Docker, tentu saja) seperti Alibaba , Facebook, Google, Huawei , IBM, Microsoft, NTT, Tesla. Statistik basis kode lebih banyak dapat dilihat di DevStats .

Di antara pengguna contenterd yang terkenal, cukup untuk menyebutkan Moby sendiri dan proyek terkait (LinuxKit, BuildKit), layanan cloud Google (GKE), Microsoft (mesin ac di Azure, dan di masa depan AKS), IBM (IKS, ICP) dan Alibaba, solusi / mesin kontainer (Rio dari Rancher, Kata Containers, Balena), serta bahkan Petasan baru-baru ini.

Tentang pesaing


Akhirnya, perlu dikatakan bahwa laju pengembangan rkt - sebuah analog dari contenterd, termasuk dalam CNCF pada waktu yang hampir bersamaan - secara signifikan lebih rendah. Sudah cukup untuk menunjukkan bahwa rilis terakhirnya - v1.30.0 - terjadi hampir setahun yang lalu (pada bulan April 2018).

Ada kesimpulan logis dari perspektif bisnis: sekitar setahun yang lalu, pengembang rkt asli, CoreOS, diakuisisi oleh Red Hat. Dan yang terakhir (atau lebih tepat untuk mengatakan bahwa sekarang IBM sudah memiliki ...) , sebagaimana disebutkan dalam materi, memiliki gagasan sendiri - cri-o - yang kegiatannya jauh lebih aktif .

Namun, sementara raksasa Linux belum dapat "memulai" proyeknya di CNCF, mungkin kata-kata tentang containerd sebagai standar industri terdengar sangat dapat dipercaya.

PS


Baca juga di blog kami:

Source: https://habr.com/ru/post/id442036/


All Articles