Episode ini memandu instalasi Cilium dengan dua cara: Cilium CLI dan Helm chart, lalu memverifikasi dengan cilium status serta cilium connectivity test. Kalian juga membandingkan mode tunnel dengan direct routing dan mempelajari integrasi dengan containerd serta CRI-O.

Ini saatnya aksi nyata pertama: menginstall Cilium di cluster kalian. Di episode 3 kita akan memakai dua jalur instalasi — Cilium CLI untuk kecepatan dan Helm chart untuk kontrol penuh — lalu memverifikasi instalasi dengan cilium status dan cilium connectivity test.
Selain itu, kita akan membahas keputusan arsitektural yang menentukan sejak awal: tunnel vs direct routing. Pilihan ini memengaruhi cara paket berpindah antar node dan sebaiknya diputuskan sebelum workload berjalan. Episode ini juga membahas bagaimana Cilium berintegrasi dengan container runtime seperti containerd dan CRI-O.
Satu catatan penting sebelum mulai: pastikan tidak ada CNI lain yang terinstall di cluster. Jika cluster kalian dibuat dengan kind atau k3s, mereka mungkin sudah memasang CNI bawaan (k3s memakai flannel default). Nonaktifkan CNI tersebut terlebih dahulu agar tidak terjadi konflik ketika Cilium mengambil alih pengelolaan jaringan.
Cara termudah untuk memulai adalah dengan Cilium CLI. Pastikan cluster kalian sudah siap (episode 0) dan jangan ada CNI lain yang terinstall, lalu jalankan:
cilium install --version v1.20.0cilium install --version v1.20.0 menerapkan Cilium ke cluster dengan konfigurasi default yang aman: ia akan otomatis mendeteksi runtime container, mode IPAM, dan pengaturan datapath yang cocok untuk cluster lokal kalian. Jika versi tidak disebutkan, CLI memakai versi terbaru yang kompatibel.
Cilium CLI pada dasarnya membungkus Helm chart — semua yang dilakukan CLI juga bisa dilakukan dengan Helm secara manual. Ini penting untuk dipahami karena di production kalian hampir pasti memakai Helm atau tool GitOps (episode 18) alih-alih CLI.
Untuk kontrol penuh atas konfigurasi, gunakan Helm. Tambahkan repository resmi lalu install chart:
helm repo add cilium https://helm.cilium.io/
helm repo update
helm install cilium cilium/cilium \
--namespace kube-system \
--version 1.20.0 \
--set kubeProxyReplacement=stricthelm install cilium cilium/cilium menginstall chart resmi ke namespace kube-system. Opsi kubeProxyReplacement=strict memerintahkan Cilium untuk sepenuhnya menggantikan kube-proxy — topik yang akan kita bedah di episode 8.
Setelah instalasi selesai, verifikasi kondisi Cilium:
cilium statuscilium status menampilkan ringkasan: apakah agent dan operator berjalan, apakah control plane terhubung, dan versi kernel yang terdeteksi. Semua komponen harus menampilkan status OK sebelum lanjut.
Verifikasi yang lebih dalam adalah connectivity test, yang membuat workload sementara dan menguji berbagai jalur traffic antar pod dan service:
cilium connectivity testcilium connectivity test menjalankan serangkaian skenario: pod-to-pod, pod-to-service, ingress dan egress, bahkan dengan policy terpasang. Semua skenario harus lulus. Test ini juga akan dipakai nanti di episode 21 sebagai gerbang kualitas di pipeline CI/CD.
Jika ada skenario yang gagal, perhatikan nama skenario yang ditampilkan oleh test tersebut. Test pod-to-pod yang gagal biasanya menunjuk ke masalah dataplane, sedangkan test pod-to-service yang gagal bisa menunjuk ke masalah load balancing atau DNS. Berhentilah dan perbaiki dulu sebelum melanjutkan, karena semua episode berikutnya diasumsikan berjalan di atas instalasi yang sehat.
Mode datapath menentukan bagaimana paket dikirim antar node:
Untuk mengubah mode, set saat install. Misalnya dengan CLI:
cilium install --set routing-mode=directPilihan antara keduanya bukan berarti satu selalu lebih baik dari yang lain. Untuk production di cloud publik, direct routing sering dipilih demi performa, sementara tunnel memberikan fleksibilitas di jaringan yang kompleks.
Cilium terintegrasi dengan container runtime lewat CNI. Cilium menyediakan plugin biner cilium-cni dan file konfigurasi CNI di setiap node. Saat containerd atau CRI-O membuat pod, runtime memanggil plugin ini sesuai spesifikasi CNI, dan Cilium mengambil alih penyiapan jaringan pod.
Verifikasi bahwa plugin CNI terpasang dengan benar:
kubectl exec -n kube-system -it ds/cilium -- cilium-dbg statuscilium-dbg status yang dijalankan di dalam pod agent menampilkan baris CNI Chained dan konfigurasi CNI yang aktif. Jika baris ini menampilkan konfigurasi, artinya Cilium sudah siap dipanggil oleh runtime untuk setiap pod baru.
Instalasi bukan operasi sekali jalan. Ketika kalian ingin mengubah nilai konfigurasi atau menguji ulang dari awal, ada dua perintah yang harus dikuasai:
helm upgrade cilium cilium/cilium \
--namespace kube-system \
--version 1.20.0 \
--set ipam.mode=cluster-poolhelm upgrade cilium cilium/cilium menerapkan nilai baru tanpa menghapus cluster. Seluruh opsi --set harus diulang setiap kali upgrade — Helm tidak menyimpan nilai antar perintah. Cara yang lebih aman adalah menulis semua nilai ke dalam file values.yaml lalu memakai -f values.yaml, karena nilai yang tercatat lebih mudah di-audit (episode 18).
Untuk menguji dari awal atau berpindah CNI, hapus instalasi terlebih dahulu:
cilium uninstallcilium uninstall membersihkan DaemonSet, operator, dan resource Cilium dari cluster. Setelah uninstall, ingatlah bahwa cluster akan kehilangan kemampuan networking Cilium — pastikan tidak ada workload penting yang bergantung pada Cilium saat perintah ini dijalankan. Di environment lab, urutan yang biasa dilakukan adalah uninstall lalu install ulang untuk mensimulasikan cluster baru.
cilium install --version v1.20.0
cilium status --waitcilium status --wait memblokir sampai seluruh komponen Cilium siap — praktis untuk script dan pipeline karena status sukses berarti instalasi benar-benar selesai, bukan sekadar ter-submit.
Info
Cilium CLI dan Helm menghasilkan konfigurasi yang sama. Gunakan Helm jika kalian butuh auditability dan reproducibility, gunakan Cilium CLI jika ingin cepat memulai eksperimen. Di production, helm values sebaiknya disimpan di repository (episode 18).
Inti yang harus dibawa pulang:
cilium install adalah jalan pintas yang membungkus Helm chart.helm install cilium cilium/cilium memberi kontrol penuh atas konfigurasi.cilium status dan cilium connectivity test adalah gerbang verifikasi wajib.Di episode 4 selanjutnya kita akan membahas networking dasar: pod-to-pod dan service — bagaimana Cilium mengalokasikan alamat IP, mengalirkan paket intra dan antar node, menangani masquerading, serta mereplikasi Service ClusterIP, NodePort, dan LoadBalancer langsung di eBPF. Ini akan menjadi fondasi untuk semua episode security selanjutnya.