Panduan praktis menginstall FluxCD: memeriksa prasyarat cluster dan token, memilih metode instalasi, menjalankan flux bootstrap github beserta opsi yang tersedia, dan memverifikasi instalasi dengan flux check.

Di episode 3 kalian sudah memahami arsitektur GitOps Toolkit secara mendalam — mulai dari Source Controller sampai Image Automation Controllers. Sekarang teori berubah menjadi praktik: kita akan menginstall FluxCD di cluster kalian. Episode ini adalah momen pertama di mana seluruh persiapan episode 0 benar-benar diuji.
Ada satu kabar baik: tidak seperti menginstall tool konvensional, FluxCD menawarkan flux bootstrap — satu perintah yang melakukan semuanya: membuat namespace, menginstall controller, membuat file manifest di Git, dan mengkonfigurasi FluxCD agar mengelola dirinya sendiri lewat Git. Inilah alasan utama GitOps begitu digemari.
Sebelum menjalankan apa pun, pastikan prasyarat berikut terpenuhi.
FluxCD membutuhkan cluster Kubernetes yang stabil, versi 1.23 atau lebih baru. Cluster lokal seperti kind atau minikube cukup untuk lab. Pastikan context kubectl menunjuk ke cluster yang benar:
kubectl config current-context
kubectl cluster-info
kubectl get nodesFluxCD butuh akses tulis ke repository Git untuk menulis manifest bootstrap. Siapkan Personal Access Token dari GitHub, GitLab, atau Bitbucket dengan hak repo (untuk GitHub, scope repo). Untuk GitHub juga wajib mengekspor username sebagai environment variable:
export GITHUB_TOKEN=<token-anda>
export GITHUB_USER=<username-anda>Repositori tujuan boleh kosong atau sudah ada. FluxCD akan membuat branch dan struktur direktori yang dibutuhkan di sana. Struktur yang umum dipakai adalah ./clusters/<nama-cluster>/ sebagai root konfigurasi cluster.
Important
Token yang diekspor dengan export hanya hidup di shell aktif. Jangan menuliskannya di script yang ter-commit, dan ingat GITHUB_TOKEN serta GITHUB_USER adalah variabel yang dibaca flux bootstrap github secara otomatis.
Ada empat jalur untuk menginstall FluxCD:
| Metode | Karakteristik | Rekomendasi |
|---|---|---|
flux bootstrap | Otomatis penuh, self-managed via Git | Paling disarankan |
flux install | Manual, tanpa menulis ke Git | Lab cepat |
| Terraform provider | Integrasi dengan IaC Terraform | Tim yang sudah pakai Terraform |
| Helm chart | Install via chart Helm | Pengguna berat Helm |
Pada episode ini kita fokus pada flux bootstrap, karena ia menghasilkan setup yang paling selaras dengan filosofi GitOps: konfigurasi cluster hidup di Git sejak menit pertama.
Perintah bootstrap untuk GitHub:
flux bootstrap github \
--owner=$GITHUB_USER \
--repository=gitops \
--branch=main \
--path=./clusters/my-cluster \
--personalUntuk GitLab atau provider lain, perintahnya serupa dengan nama yang berbeda:
flux bootstrap gitlab \
--owner=acme \
--repository=gitops \
--branch=main \
--path=./clusters/my-cluster
flux bootstrap git \
--url=ssh://git@github.com/acme/gitops.git \
--branch=main \
--path=./clusters/my-clusterTip
Gunakan --personal ketika repositori adalah milik pribadi (bukan organisasi). Untuk organisasi, hilangkan flag ini supaya FluxCD membuat token deploy khusus dengan hak terbatas.
flux bootstrap bekerja dalam beberapa tahap secara otomatis:
flux-system di cluster.--path.Hasilnya: cluster dan repository sudah terhubung penuh dalam hitungan menit, dan seluruh konfigurasi FluxCD sendiri pun bisa direview lewat PR.
--branch=<nama> menentukan branch yang dipakai; default main.--path=./clusters/<nama> root konfigurasi cluster; bisa ada banyak cluster dalam satu repo.--components=source-controller,kustomize-controller untuk install sebagian (misal tanpa Helm controller).--network-policy mengontrol akses keluar-masuk controller di namespace flux-system.--kustomization-override atau --image-ref untuk penyesuaian lanjutan.Setelah bootstrap selesai, verifikasi dengan dua cara cepat. Pertama, cek komponen dan koneksi:
flux check
flux get kustomizationsKedua, lihat langsung pod controller berjalan:
kubectl get pods -n flux-system
kubectl get gitrepositories -n flux-systemWarning
Jika flux check melaporkan komponen yang belum siap, jangan lanjut. Periksa log pod dengan kubectl logs -n flux-system -l app=kustomize-controller dan pastikan token Git masih valid.
Selamat — FluxCD sudah hidup di cluster kalian. Inti yang harus dibawa pulang:
flux install, Terraform, dan Helm chart sebagai alternatif.flux check dan kubectl get pods -n flux-system untuk memastikan semua sehat.Di episode 5 kita menguasai senjata utama sehari-hari: Flux CLI — mulai dari instalasi dan shell completion, sampai perintah esensial seperti flux get, flux logs, flux reconcile, dan flux trace. Sampai jumpa!