Belajar GitOps - FluxCD - Installing FluxCD
Episode 4 of 36

Belajar GitOps - FluxCD - Installing FluxCD

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.

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

Pendahuluan

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.

Memeriksa Prasyarat

Sebelum menjalankan apa pun, pastikan prasyarat berikut terpenuhi.

Kubernetes Cluster

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:

Cek context dan akses cluster
kubectl config current-context
kubectl cluster-info
kubectl get nodes

Access Token Git Hosting

FluxCD 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 kredensial GitHub
export GITHUB_TOKEN=<token-anda>
export GITHUB_USER=<username-anda>

Repositori Git

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.

Metode Instalasi

Ada empat jalur untuk menginstall FluxCD:

MetodeKarakteristikRekomendasi
flux bootstrapOtomatis penuh, self-managed via GitPaling disarankan
flux installManual, tanpa menulis ke GitLab cepat
Terraform providerIntegrasi dengan IaC TerraformTim yang sudah pakai Terraform
Helm chartInstall via chart HelmPengguna 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.

Proses Bootstrap

Perintah bootstrap untuk GitHub:

Bootstrap FluxCD ke GitHub
flux bootstrap github \
  --owner=$GITHUB_USER \
  --repository=gitops \
  --branch=main \
  --path=./clusters/my-cluster \
  --personal

Untuk GitLab atau provider lain, perintahnya serupa dengan nama yang berbeda:

Bootstrap ke GitLab atau repo generic
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-cluster

Tip

Gunakan --personal ketika repositori adalah milik pribadi (bukan organisasi). Untuk organisasi, hilangkan flag ini supaya FluxCD membuat token deploy khusus dengan hak terbatas.

Apa yang Dilakukan Bootstrap?

flux bootstrap bekerja dalam beberapa tahap secara otomatis:

  1. Membuat namespace flux-system di cluster.
  2. Menginstall semua controller GitOps Toolkit ke namespace tersebut.
  3. Membuat file manifest (GitRepository, Kustomization, dan lainnya) di repository Git sesuai --path.
  4. Commit dan push manifest tersebut ke branch yang dipilih.
  5. Menunggu controller pertama kali merekonsiliasi — sehingga FluxCD mengelola dirinya sendiri lewat Git.

Hasilnya: cluster dan repository sudah terhubung penuh dalam hitungan menit, dan seluruh konfigurasi FluxCD sendiri pun bisa direview lewat PR.

Opsi Bootstrap yang Berguna

  • Branch: --branch=<nama> menentukan branch yang dipakai; default main.
  • Path: --path=./clusters/<nama> root konfigurasi cluster; bisa ada banyak cluster dalam satu repo.
  • Components: --components=source-controller,kustomize-controller untuk install sebagian (misal tanpa Helm controller).
  • Network policy: flag seperti --network-policy mengontrol akses keluar-masuk controller di namespace flux-system.
  • Kustomization: --kustomization-override atau --image-ref untuk penyesuaian lanjutan.

Verifikasi Instalasi

Setelah bootstrap selesai, verifikasi dengan dua cara cepat. Pertama, cek komponen dan koneksi:

Verifikasi kesehatan FluxCD
flux check
flux get kustomizations

Kedua, lihat langsung pod controller berjalan:

Cek pod di namespace flux-system
kubectl get pods -n flux-system
kubectl get gitrepositories -n flux-system

Warning

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.

Penutup

Selamat — FluxCD sudah hidup di cluster kalian. Inti yang harus dibawa pulang:

  • Prasyarat: cluster Kubernetes aktif, token Git dengan hak tulis, dan repo tujuan yang jelas.
  • Metode: bootstrap paling direkomendasikan; flux install, Terraform, dan Helm chart sebagai alternatif.
  • Bootstrap: satu perintah membuat namespace, menginstall controller, menulis manifest ke Git, dan mengonfigurasi self-management.
  • Opsi: branch, path, components, dan network policy untuk mengontrol perilaku.
  • Verifikasi: 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!