Episode ini menelusuri asal-usul Kata Containers dari penggabungan Intel Clear Containers dan Hyper.sh runV pada Desember 2017, statusnya sebagai proyek OpenInfra, hingga transisinya ke runtime Rust. Kalian juga memahami mengapa isolasi microVM diperlukan dan siapa saja yang mengadopsinya di production.

Selamat datang kembali di series Belajar Kata Containers! Di episode 0 kalian sudah menyiapkan node dengan KVM, containerd, dan tooling dasar. Sekarang kita mundur sejenak untuk memahami dari mana Kata Containers berasal dan masalah keamanan apa yang sebenarnya dia selesaikan. Tanpa konteks ini, semua perintah kata-runtime dan RuntimeClass di episode-episode berikutnya akan terasa seperti kotak hitam.
Episode 1 membahas tiga hal besar: sejarah lahirnya Kata dari merger dua proyek, filosofi "the speed of containers, the security of VMs", serta siapa saja yang sudah mengadopsinya di production. Mengapa penting? Karena keputusan memakai Kata Containers biasanya lahir dari pemahaman tentang batas keamanan container tradisional.
Sebelum Kata ada, ada dua pendekatan berbeda untuk mengamankan container. Intel Clear Containers (dari Intel) berfokus pada menjalankan container di dalam virtual machine dengan teknologi KVM/QEMU. Hyper.sh runV (dari perusahaan Hyper.sh) melakukan hal serupa dengan pendekatan yang sedikit berbeda namun tujuan yang sama: container dengan isolasi VM.
Kedua proyek ini menyadari bahwa mereka sedang mengejar masalah yang sama. Pada Desember 2017, keduanya bergabung menjadi satu proyek bernama Kata Containers, diumumkan di KubeCon Austin. Kata berarti "kata-kata" — sebuah metafora bahwa proyek ini menyatukan dua bahasa yang berbeda menjadi satu yang dipahami semua pihak.
Kata Containers kemudian menjadi proyek di bawah OpenInfra Foundation — payung yang sama dengan OpenStack. Keanggotaan di foundation ini berarti pengembangan Kata tidak dikendalikan satu vendor: Intel, Hyper.sh, dan kemudian banyak perusahaan lain berkontribusi bersama. Inilah salah satu alasan Kata dipercaya untuk production — tidak ada satu pihak yang bisa menghentikan pengembangan secara sepihak.
Sejak seri 3.x, perubahan arsitektural paling signifikan mulai berjalan: runtime utama berpindah dari Go ke Rust, dengan implementasi bernama runtime-rs. Perpindahan ini membawa keunggulan keamanan memori Rust, kecepatan, dan konsumsi resource yang lebih rendah. Puncaknya terjadi di Kata Containers 4.0.0 yang dirilis 22 Juli 2026: runtime Rust menjadi default dengan arsitektur Rust-first. Detail lengkapnya kita bedah di episode 17.
Container berbasis runc berbagi kernel host. Namespace dan cgroups memberikan isolasi, tapi batas itu adalah perangkat lunak — satu kernel, ribuan proses, dan satu celah kernel berarti semua tenant terdampak. Bayangkan gedung apartemen dengan satu pondasi yang sama: nyaman dan murah, tapi satu retakan di pondasi dirasakan semua penghuni.
Kata Containers membalik logikanya: setiap pod mendapat kernel sendiri di dalam microVM. Batas isolasi sekarang ada di hardware — hypervisor memisahkan guest kernel dari host kernel. Satu tenant yang kena exploit hanya bisa merusak VM-nya sendiri, bukan seluruh node.
Filosofi ini adalah jantung Kata. Container menang di kecepatan dan kemudahan; VM menang di keamanan dan isolasi. Kata merancang seluruh stack agar pod boot dalam 150-300 milidetik — mendekati kecepatan container biasa, tapi dengan isolasi penuh VM:
Ini bukan angka marketing. Arsitektur yang dibahas di episode 2 — dari shim sampai guest kernel — dirancang khusus untuk mencapai boot time sekecil itu, termasuk pengurangan yang dilakukan runtime Rust dan optimasi Dragonball.
Kata tidak memaksa kalian mengganti tooling. Karena ia mengikuti spesifikasi OCI dan bekerja lewat CRI, Kubernetes mengenalinya sebagai runtime biasa. Pod memakai Kata cukup dengan menetapkan spec.runtimeClassName — objek RuntimeClass yang sudah kalian kenal dari episode 0. Tidak ada perubahan pada Deployment, Service, atau NetworkPolicy.
Untuk mengecek versi runtime yang sedang aktif di node:
kata-runtime versionkata-runtime version menampilkan versi runtime, versi protocol OCI, dan commit build. Nantikan penggunaan penuh perintah ini di episode 3 dan 4.
Adopsi production membuktikan bahwa Kata bukan sekadar riset:
Pola yang muncul dari semua adopsi ini sama: workload yang tidak dipercaya atau multi-tenant — sandbox untuk code dari luar, CI/CD yang menjalankan artefak pihak ketiga, dan AI agent yang mengeksekusi tool dari sumber tidak dikenal.
Cek dulu bahwa semua yang disiapkan di episode 0 masih utuh, karena episode 3 akan langsung memakai semuanya:
ls -l /dev/kvm
kubectl get nodes -o wide
kata-runtime versionls -l /dev/kvm memastikan akselerasi hardware tersedia, kubectl get nodes -o wide memastikan cluster sehat, dan kata-runtime version memastikan binary runtime sudah terpasang. Jika binary belum ada, jangan khawatir — episode 3 akan menginstallnya secara lengkap.
Note
Kata Containers berkembang pesat: dari seri 3.x dengan rilis bulanan hingga 4.0.0 dengan runtime Rust sebagai default. Catat versi yang kalian pakai — nanti di episode 13 kalian akan melihat bahwa versi juga menentukan kerentanan keamanan yang sudah atau belum ditambal.
Sebagai gambaran, begini posisi Kata di antara pendekatan isolasi lain:
Perbandingan mendalam, termasuk kapan memilih gVisor dibanding Kata, akan kita bahas di episode 22.
Inti yang harus dibawa pulang:
Di episode 2 selanjutnya kita akan membedah konsep dasar dan arsitektur utama Kata Containers — alur dari containerd shimv2 ke VMM ke guest kernel dan Kata agent, komponen seperti containerd-shim-kata-v2, kata-runtime, kata-runtime-rs, dan kata-agent, serta bagaimana virtio dan VFIO menghubungkan host dan guest. Ini adalah fondasi arsitektur yang akan dipakai di semua episode berikutnya.