Sebelum menyentuh Cilium, kalian perlu menguasai Kubernetes dasar (Pod, Service, kube-proxy, NetworkPolicy), Linux networking, dan konsep CNI. Di episode ini kalian juga menyiapkan cluster uji lokal, menginstall Cilium CLI dan hubble CLI, serta memverifikasi seluruh environment siap untuk mengikuti series ini.

Selamat datang di series Belajar Cilium! Series ini akan membawa kalian menguasai Cilium — CNI (Container Network Interface) berbasis eBPF untuk networking, security, dan observability di Kubernetes — dari fondasi konsep sampai production readiness. Total ada 23 episode yang tersusun dalam enam fase.
Sebelum menyentuh cilium install, ada beberapa skill dasar dan perangkat lunak yang wajib kalian miliki. Mengapa prasyarat ini penting? Karena Cilium bekerja di lapisan yang lebih dalam dari sekadar file Deployment biasa. Cilium mengkompilasi program eBPF ke dalam kernel Linux, menggantikan peran kube-proxy, dan memahami identitas workload — semua ini menuntut pemahaman dasar tentang cara Kubernetes dan kernel Linux bekerja.
Episode 0 ini adalah peta jalan kalian: kita akan memastikan skill dasar terpenuhi, menyiapkan cluster uji lokal, menginstall tooling yang dibutuhkan, dan memverifikasi environment untuk pertama kali. Setelah episode ini selesai, seluruh series bisa diikuti dengan nyaman dan tanpa hambatan.
Kalian wajib memahami objek dasar Kubernetes: Pod sebagai unit terkecil yang membungkus container, Service (ClusterIP, NodePort, LoadBalancer) sebagai abstraksi jaringan di depan pod, dan kube-proxy sebagai komponen yang selama ini mengatur aturan jaringan (iptables) untuk mem-forward traffic ke pod. Pahami juga NetworkPolicy bawaan Kubernetes, karena Cilium memperluas konsep ini jauh lebih dalam dengan pendekatan berbasis identitas.
Cilium berjalan di dalam kernel, jadi pengetahuan Linux networking sangat membantu. Konsep yang wajib kalian kenal:
Pahami juga cara kerja container: container adalah proses yang diisolasi dengan namespace dan cgroups. Di episode 4 kita akan melihat bagaimana Cilium mengganti chain iptables dengan program eBPF yang jauh lebih cepat dan tidak perlu traversal aturan panjang.
CNI adalah spesifikasi yang mendefinisikan bagaimana runtime (containerd, CRI-O) memanggil plugin jaringan untuk menyiapkan network namespace sebuah pod. Cilium adalah salah satu implementasi CNI. Pastikan kalian paham alur dasarnya: runtime memanggil plugin CNI, plugin mengalokasikan alamat IP, plugin memasang veth, lalu traffic pod mengalir sesuai aturan yang di-compile ke kernel.
Untuk mencoba semua fitur, gunakan cluster uji lokal seperti kind, minikube, atau k3s. Cilium membutuhkan Linux kernel modern (5.8 ke atas) untuk dukungan eBPF penuh. Cek dulu versi kernel host kalian:
uname -rJika angkanya di bawah 5.8, pertimbangkan untuk upgrade kernel atau gunakan VM dengan kernel yang lebih baru. Selanjutnya, buat cluster kind sebagai wadah percobaan:
kind create cluster --name cilium-dev
kubectl cluster-infokubectl cluster-info memastikan koneksi ke cluster berjalan normal. Ingat satu aturan penting: jangan install CNI lain terlebih dahulu, karena kita akan menginstall Cilium dari nol di episode 3.
Unduh Cilium CLI (v0.19.x) dan hubble CLI dari rilis resmi GitHub. Kedua tool ini akan menjadi sahabat kalian sepanjang series:
curl -L --remote-name-all https://github.com/cilium/cilium-cli/releases/latest/download/cilium-linux-amd64.tar.gz
tar xzvfC cilium-linux-amd64.tar.gz /usr/local/bin
rm cilium-linux-amd64.tar.gzProses serupa berlaku untuk hubble CLI dengan file hubble-linux-amd64.tar.gz dari repository cilium/hubble. Jika memakai macOS atau arsitektur lain, sesuaikan nama file dengan platform masing-masing.
Helm dibutuhkan karena nanti kita akan membahas instalasi berbasis chart di episode 3 dan episode 18. Pastikan ketiganya terinstall dengan benar:
cilium version
hubble version
helm version --shortcilium version menampilkan versi CLI dan versi image yang akan dipakai saat install. Semua perintah di atas harus mencetak versi tanpa error.
Sebelum lanjut ke episode 1, jalankan verifikasi menyeluruh untuk memastikan semuanya siap:
uname -r
kubectl get nodes
cilium version
hubble version
helm versionKelima perintah di atas harus berhasil tanpa error. kubectl get nodes harus menampilkan node dengan status Ready. Jika salah satu gagal, perbaiki dulu — fondasi yang kuat akan membuat 22 episode berikutnya terasa jauh lebih ringan.
Warning
Cilium membutuhkan node yang mendukung eBPF. Cluster cloud lama atau VM tanpa kernel modern sering gagal saat memuat program eBPF. Selalu cek dukungan kernel sebelum melanjutkan ke episode berikutnya.
Rangkuman yang sudah kalian siapkan di episode 0:
Jika ada yang belum terpenuhi, berhenti dulu dan lengkapi sebelum melanjutkan. Perjalanan 22 episode ke depan akan jauh lebih lancar dengan pijakan yang kuat ini.
Inti yang harus dibawa pulang:
uname, kubectl, dan cilium version.Di episode 1 selanjutnya kita akan membahas sejarah, latar belakang, dan mengapa membutuhkan Cilium — dari proyek internal Isovalent pada tahun 2017, evolusinya menjadi proyek CNCF yang graduated, hingga masalah nyata yang diselesaikannya: keterbatasan kube-proxy, NetworkPolicy yang tidak memahami identitas, dan kebutuhan networking performa tinggi. Pastikan cluster kalian sudah siap, karena perjalanan Belajar Cilium baru saja dimulai!