Panduan lengkap Flux CLI: instalasi di berbagai platform dan shell completion, perintah esensial flux check dan flux get, perintah create dan reconcile, export, diff, trace, tree, stats, serta tips output.

Di episode 4 kalian sudah berhasil menginstall FluxCD lewat flux bootstrap github dan memverifikasinya dengan flux check. Mulai sekarang, flux bukan lagi perintah yang sekali dipakai — ia adalah dashboard utama kalian untuk bekerja dengan FluxCD setiap hari.
Episode ini membahas Flux CLI secara menyeluruh: instalasi di berbagai platform, shell completion, perintah esensial untuk memeriksa dan merekonsiliasi, perintah create untuk mendeklarasikan resource, serta perintah export, diff, trace, tree, dan stats untuk debugging. Setelah episode ini, kalian akan nyaman membaca status cluster tanpa membuka kubectl sama sekali.
Jika belum terpasang di episode 0, berikut cara install di berbagai platform.
brew install fluxcd/tap/fluxcurl -s https://fluxcd.io/install.sh | sudo bashScript ini juga bisa dijalankan langsung untuk semua distro. Alternatif lainnya adalah mengunduh binary dari halaman release di GitHub.
flux version
source <(flux completion bash)Tip
Agar completion bertahan setelah terminal ditutup, tambahkan baris source <(flux completion bash) ke file ~/.bashrc (untuk zsh gunakan flux completion zsh). Tab-completion menghemat banyak pengetikan saat menulis opsi panjang.
Cek kesehatan komponen dan koneksi cluster:
flux check
flux check --pre--pre memeriksa prasyarat sebelum instalasi, sedangkan tanpa flag mengecek seluruh controller yang terinstall.
Perintah paling sering dipakai untuk melihat status resource:
flux get sources git
flux get kustomizations
flux get helmreleasesOutput menunjukkan kolom READY, STATUS, dan usia terakhir rekonsiliasi. Ini cara tercepat menjawab "kenapa app belum muncul?".
Melihat log semua controller sekaligus:
flux logs --level=error
flux logs --kind=Kustomization --name=web-appBerguna saat ada Kustomization gagal dan kalian butuh jejak error tanpa menebak pod mana yang harus di-log.
Rekonsiliasi normal berjalan sesuai interval, tapi kadang kita butuh aksi instan:
flux reconcile kustomization web-app --with-source
flux suspend kustomization web-app
flux resume kustomization web-app--with-source memaksa source ditarik ulang sebelum rekonsiliasi. flux suspend menghentikan rekonsiliasi — berguna saat maintenance atau ingin menahan perubahan sementara.
Flux CLI bisa men-declare resource langsung dari terminal, tanpa menulis file YAML:
flux create source git web-app \
--url=https://github.com/acme/web-app \
--branch=main
flux create kustomization web-app \
--source=web-app \
--path=./deploy \
--prune=true
flux create helmrelease nginx \
--source=HelmRepository/ingress-nginx \
--chart=nginxPerintah flux create tenant membuat namespace plus RBAC untuk multi-tenancy:
flux create tenant web-team --with-namespace=webImportant
flux create menghasilkan manifest YAML di terminal atau file, bukan langsung ke cluster kecuali ditambah --export dan kubectl apply. Pola yang disarankan: generate, review, commit ke Git, lalu biarkan FluxCD menerapkan lewat rekonsiliasi.
Setelah resource terlanjur hidup di cluster, ekspor balik ke YAML agar bisa di-commit ke Git:
flux export kustomization web-app
flux export source git web-app > web-app-git.yamlPerintah debug yang sangat berguna:
flux diff kustomization web-app — membandingkan state di Git dengan yang ada di cluster.flux trace deployment nginx -n web — menelusuri objek mana yang mengelola sebuah resource.flux tree kustomization web-app — menampilkan pohon dependensi objek.flux stats --namespace=web — statistik ringkas sumber daya per namespace.flux diff kustomization web-app
flux trace deployment nginx -n web
flux tree kustomization web-appBeberapa trik yang mempercepat kerja harian:
--watch atau -w, misal flux get kustomizations -w yang terus memperbarui output.-o yaml atau -o json untuk format terstruktur, misal flux get sources git -o json — nyaman diparsing oleh tools lain.--label-selector, contoh flux get kustomizations --label-selector=env=prod.-n atau --namespace untuk membatasi output, contoh flux get helmreleases -n web.Dengan episode ini, kalian memegang kendali penuh FluxCD dari terminal:
flux check, flux get sources git, flux get kustomizations, flux get helmreleases, dan flux logs.flux reconcile, flux suspend, dan flux resume untuk mengontrol rekonsiliasi.flux create source git, kustomization, helmrelease, dan tenant.flux export, flux diff, flux trace, flux tree, dan flux stats.Di episode 6 kita masuk ke fase deployment pertama yang sesungguhnya: membuat GitRepository dan Kustomization pertama, mendeploy aplikasi ke cluster dari Git, dan memahami alur reconciliation end-to-end. Semua perintah yang kalian kuasai di episode ini akan dipakai terus di sana. Sampai jumpa!