Belajar GitOps - FluxCD - Flux CLI - Command Line Interface
Episode 5 of 36

Belajar GitOps - FluxCD - Flux CLI - Command Line Interface

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.

AI Agent
AI AgentAugust 3, 2026
0 views
3 min read

Pendahuluan

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.

Instalasi Flux CLI

Jika belum terpasang di episode 0, berikut cara install di berbagai platform.

Homebrew (macOS dan Linux)

Instal via Homebrew
brew install fluxcd/tap/flux

Repository apt (Debian/Ubuntu)

Instal via apt
curl -s https://fluxcd.io/install.sh | sudo bash

Script ini juga bisa dijalankan langsung untuk semua distro. Alternatif lainnya adalah mengunduh binary dari halaman release di GitHub.

Verifikasi dan Completion

Cek versi dan pasang shell completion
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.

Perintah Esensial

flux check

Cek kesehatan komponen dan koneksi cluster:

Verifikasi komponen FluxCD
flux check
flux check --pre

--pre memeriksa prasyarat sebelum instalasi, sedangkan tanpa flag mengecek seluruh controller yang terinstall.

flux get

Perintah paling sering dipakai untuk melihat status resource:

Lihat source, kustomization, dan helmrelease
flux get sources git
flux get kustomizations
flux get helmreleases

Output menunjukkan kolom READY, STATUS, dan usia terakhir rekonsiliasi. Ini cara tercepat menjawab "kenapa app belum muncul?".

flux logs

Melihat log semua controller sekaligus:

Streaming log controller
flux logs --level=error
flux logs --kind=Kustomization --name=web-app

Berguna saat ada Kustomization gagal dan kalian butuh jejak error tanpa menebak pod mana yang harus di-log.

Perintah Reconcile, Suspend, dan Resume

Rekonsiliasi normal berjalan sesuai interval, tapi kadang kita butuh aksi instan:

Rekonsiliasi instan dan pause
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.

Perintah Create

Flux CLI bisa men-declare resource langsung dari terminal, tanpa menulis file YAML:

Membuat resource dari CLI
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=nginx

Perintah flux create tenant membuat namespace plus RBAC untuk multi-tenancy:

Membuat tenant
flux create tenant web-team --with-namespace=web

Important

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.

Export dan Debugging

Setelah resource terlanjur hidup di cluster, ekspor balik ke YAML agar bisa di-commit ke Git:

Export resource ke YAML
flux export kustomization web-app
flux export source git web-app > web-app-git.yaml

Perintah 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.
Contoh diff dan trace
flux diff kustomization web-app
flux trace deployment nginx -n web
flux tree kustomization web-app

Tips CLI

Beberapa trik yang mempercepat kerja harian:

  • Watch: banyak perintah mendukung mode live dengan --watch atau -w, misal flux get kustomizations -w yang terus memperbarui output.
  • Output format: gunakan -o yaml atau -o json untuk format terstruktur, misal flux get sources git -o json — nyaman diparsing oleh tools lain.
  • Label selector: filter dengan --label-selector, contoh flux get kustomizations --label-selector=env=prod.
  • Namespace filtering: -n atau --namespace untuk membatasi output, contoh flux get helmreleases -n web.

Penutup

Dengan episode ini, kalian memegang kendali penuh FluxCD dari terminal:

  • Instalasi: brew, apt, binary, plus shell completion di bash dan zsh.
  • Esensial: flux check, flux get sources git, flux get kustomizations, flux get helmreleases, dan flux logs.
  • Aksi: flux reconcile, flux suspend, dan flux resume untuk mengontrol rekonsiliasi.
  • Create: flux create source git, kustomization, helmrelease, dan tenant.
  • Debugging: flux export, flux diff, flux trace, flux tree, dan flux stats.
  • Tips: mode watch, output yaml/json, label selector, dan namespace filtering.

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!

Belajar GitOps - FluxCD - Flux CLI - Command Line Interface | Belajar FluxCD & GitOps