Sebelum menyentuh Calico, kalian perlu menguasai dasar Kubernetes, Linux networking, dan CLI. Di episode ini kalian menyiapkan cluster uji, menginstall Calico Open Source via Tigera Operator, dan memverifikasi instalasi dengan calicoctl.

Selamat datang di series Belajar Calico! Series ini akan membawa kalian menguasai Project Calico — CNI dan network security engine untuk Kubernetes — dari konsep dasar sampai arsitektur production-grade. Total ada 23 episode yang tersusun dari enam fase.
Tapi sebelum menyentuh calico sama sekali, ada beberapa skill dasar dan perangkat lunak yang wajib kalian miliki. Mengapa prasyarat ini penting? Karena Calico bukan sekadar plugin yang menaruh IP di pod. Dia mengatur routing antar node lewat BGP, memprogram iptables/nftables atau eBPF untuk network policy, dan mengelola IPAM. Tanpa pemahaman dasar Kubernetes dan Linux networking, seluruh mekanisme itu akan terasa seperti kotak hitam.
Episode 0 ini adalah peta jalan kalian: memastikan skill dasar, menyiapkan cluster uji, menginstall Calico Open Source versi stabil, dan melakukan verifikasi pertama. Setelah episode ini selesai, seluruh series bisa diikuti dengan nyaman.
Kalian wajib nyaman dengan objek inti Kubernetes: Pod, Service, Namespace, dan Node. Pahami juga bahwa kubelet memanggil CNI saat pod dibuat — itu adalah titik masuk Calico ke klaster. Yang paling sering diuji di series ini adalah NetworkPolicy, jadi pastikan kalian paham konsep selector label dan aturan ingress/egress.
Calico berjalan di atas routing Linux dan BGP. Kalian harus paham konsep ip route, iptables/nftables, VETH, dan namespace jaringan karena itulah yang diprogram Felix. BGP cukup dikuasai dasarnya saja: neighbor, peering, AS number, dan prefix advertisement.
Tiga alat yang dipakai sepanjang series. Verifikasi versinya sekarang:
kubectl version --client
helm version --short
calicoctl versionPerintah kubectl version --client memastikan kubectl terpasang, dan calicoctl version akan dikenalkan lebih dalam sebentar lagi. Jika calicoctl belum ada, jangan khawatir — cara install-nya ada di bagian bawah episode ini.
Cluster uji paling ringan adalah kind (Kubernetes in Docker). Kita memakai pod subnet 192.168.0.0/16 agar konsisten dengan IPPool default Calico:
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
networking:
podSubnet: 192.168.0.0/16
serviceSubnet: 10.96.0.0/12
disableDefaultCNI: trueSimpan sebagai kind-config.yaml, lalu buat cluster-nya:
kind create cluster --name calico-lab --config kind-config.yaml
kubectl get nodesField disableDefaultCNI: true menonaktifkan CNI bawaan kind agar nanti Calico yang mengambil alih. Sampai Calico terinstall, node akan tampak NotReady — itu normal.
Cara resmi adalah Tigera Operator, yang bisa dipasang lewat Helm:
helm repo add projectcalico https://docs.tigera.io/calico/charts
helm install calico projectcalico/tigera-operator --version v3.32.1
kubectl create -f https://raw.githubusercontent.com/projectcalico/calico/v3.32.1/manifests/custom-resources.yaml
kubectl get pods -n calico-system -wTunggu sampai pod di namespace calico-system berstatus Running, dan node berubah menjadi Ready. Operator akan men-deploy calico-node (DaemonSet), typha (Deployment), dan kube-controllers. Seluruh komponen ini kita bedah satu per satu mulai episode 2.
calicoctl adalah CLI manajemen Calico. Install versi stabil:
curl -LO https://github.com/projectcalico/calico/releases/download/v3.32.1/calicoctl-linux-amd64
chmod +x calicoctl-linux-amd64
sudo mv calicoctl-linux-amd64 /usr/local/bin/calicoctl
calicoctl versionSelain calicoctl, ada CLI yang lebih baru bernama calico yang bisa dipasang sebagai plugin kubectl: kubectl krew install calico lalu dipakai sebagai kubectl calico. Keduanya membaca datastore yang sama, jadi pilih salah satu yang paling nyaman.
Setelah cluster Ready, jalankan verifikasi menyeluruh:
calicoctl node status
calicoctl get nodes
calicoctl get ippoolcalicoctl node status akan menampilkan status proses Calico dan status BGP tiap peer. Pada cluster satu node, kalian akan melihat peer bertipe node-to-node mesh dengan status Established. calicoctl get ippool memastikan IPPool default 192.168.0.0/16 sudah dibuat.
Coba juga deploy satu pod untuk memastikan networking berfungsi:
kubectl run nginx --image=nginx
kubectl get pod nginx -o wide
kubectl exec nginx -- curl -s -o /dev/null -w "%{http_code}" http://nginxJika mengembalikan 200, cluster uji kalian sudah siap. Konfirmasi terakhir: pastikan semua perintah ini berjalan tanpa error, lalu catat versi Calico yang terpasang — series ini memakai Calico Open Source v3.32.1.
Di episode 0 ini kalian sudah menyiapkan pijakan untuk seluruh series: menguasai prasyarat Kubernetes, Linux networking, dan CLI; membuat cluster kind dengan CNI dinonaktifkan; menginstall Calico via Tigera Operator; memasang calicoctl; serta memverifikasi status dataplane dan BGP.
Inti yang harus dibawa pulang:
disableDefaultCNI: true agar Calico mengambil alih.calicoctl node status adalah pintu pertama memeriksa kesehatan dataplane.192.168.0.0/16 harus muncul di calicoctl get ippool.Di episode 1 selanjutnya kita akan membahas sejarah, latar belakang, dan mengapa membutuhkan Calico — dari kelahiran Calico di Metaswitch Networks tahun 2014, misi wire-rate routing alih-alih overlay, hingga posisinya sebagai CNI paling banyak diadopsi di Kubernetes. Pastikan environment kalian sudah siap, karena perjalanan Belajar Calico baru saja dimulai!