Belajar GitOps - FluxCD - Production Checklist & Best Practices
Episode 34 of 36

Belajar GitOps - FluxCD - Production Checklist & Best Practices

Di episode ini kalian mempersiapkan FluxCD menuju produksi: checklist pra-produksi untuk HA, RBAC, secret, monitoring, backup, dan DR. Ditutup dengan praktik operasional, tata kelola repositori Git, dan daftar pitfall umum yang harus dihindari.

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

Pendahuluan

Di episode 33 kalian sudah memindahkan sistem ke FluxCD dengan strategi migrasi yang aman. Sekarang waktunya memastikan semuanya benar-benar siap untuk produksi. Di episode 34 ini kalian belajar production checklist & best practices: daftar periksa pra-produksi dari HA hingga DR, praktik operasional harian, tata kelola repositori Git, dan pitfall yang paling sering menjegal tim.

Checklist Pra-Produksi

High Availability dan RBAC

Pastikan controller Flux berjalan dengan replika lebih dari satu dan memiliki resource limits yang memadai. Periksa bahwa seluruh kebijakan RBAC hanya memberi akses minimum, dan bahwa flux-system tidak memakai Service Account default:

Memverifikasi readiness controller Flux
kubectl get pods -n flux-system -o wide
flux check

Secret Terenkripsi

Semua secret yang masuk ke Git harus terenkripsi dengan SOPS atau didapatkan dari external secret manager. Verifikasi bahwa tidak ada string terang-terangan pada repositori fleet:

Memindai secret terenkripsi dengan sops
sops --decrypt ./clusters/prod/secret.enc.yaml | yq '.data'

Monitoring, Alerting, dan Backup

Deploy kube-prometheus-stack untuk memantau controller Flux, dan buat alert dari metrik gotk_reconcile_condition dan gotk_reconcile_duration. Uji backup Git repositori dan cluster state secara berkala — bukan sekadar menyiapkannya.

DR Plan dan Tim Terlatih

Dokumentasikan rencana disaster recovery: bagaimana membangun ulang cluster dari nol hanya dengan flux bootstrap dan repositori Git. Kemudian latih tim dengan drill bulanan, karena dokumen DR yang tidak pernah diuji tidak lebih baik daripada tidak ada.

Important

Keindahan GitOps adalah recovery menjadi sederhana: cluster baru + flux bootstrap + repositori fleet = environment pulih. Uji pernyataan ini secara berkala di cluster pembuangan.

Praktik Operasional

Upgrade dan Patch Keamanan

Upgrade Flux mengikuti rilis minor secara berkala dengan flux install --components-extra=... untuk memperbarui controller tanpa kehilangan resource yang ada. Pantau CVE pada image controller dan repositori dependensi.

Monitoring Resource dan Kapasitas

Pantau penggunaan CPU/memori controller dan gotk_reconcile_condition secara berkelanjutan. Lakukan capacity planning sebelum menambah banyak aplikasi, karena setiap Kustomization baru menambah beban rekonsiliasi.

Insiden dan Runbook

Bangun runbook untuk insiden umum: source tidak sinkron, health check gagal, dan secret tidak terbaca. Dokumentasikan urutan flux get all, flux logs, dan kubectl describe sebagai titik awal investigasi.

Runbook: langkah awal insiden Flux
flux get all --all-namespaces
flux events --all-namespaces --since=30m
kubectl describe kustomization flux-system -n flux-system

Tip

Runbook yang bagus menjawab pertanyaan "apa yang saya lakukan dalam 5 menit pertama". Tulis seolah-olah pembacanya sedang dalam keadaan panik.

Best Practices Repositori Git

Repositori fleet adalah tulang punggung seluruh sistem, sehingga tata kelolanya harus sama ketatnya dengan kode produksi:

  • Struktur jelas: folder per environment, per cluster, dan per tim yang mudah dipahami.
  • README: jelaskan cara menambah aplikasi, environment, dan aturan main.
  • CODEOWNERS: tentukan siapa menyetujui perubahan di tiap bagian.
  • Branch protection: wajibkan review dan status checks pada main.
  • Konvensi commit: pakai Conventional Commits agar riwayat dan release otomatis terbaca.
  • Template PR: minta checklist yang konsisten di setiap perubahan.
Branch protection di pengaturan repositori
# Ringkasan rules yang disarankan
- require_pull_request_reviews: true
- required_approving_review_count: 1
- require_status_checks: true
- enforce_admins: true

Note

Perlakukan repositori fleet seperti repositori produksi yang paling penting — ia menentukan apa yang berjalan di production. Semua kebijakan review yang biasa diterapkan ke kode, terapkan juga ke sini.

Pitfall yang Harus Dihindari

  • Dependensi terlalu kompleks: Kustomization yang saling merujuk terlalu dalam membuat tracing dan debugging sulit.
  • Health check tidak ada: tanpa healthChecks, Flux menganggap deployment sukses padahal pod-nya crash.
  • Testing tidak memadai: menerapkan ke production tanpa memvalidasi render YAML dan skema.
  • Manajemen secret buruk: secret polos di Git atau kredensial statis yang tidak pernah diganti.
  • Monitoring kurang: tidak ada alert untuk rekonsiliasi yang gagal berulang kali.
  • Tanpa strategi rollback: tidak tahu cara mengembalikan environment bila perubahan menimbulkan masalah.
  • Tanpa dokumentasi: konfigurasi hanya ada di kepala orang, dan menjadi knowledge silo.

Perbandingan ringkas antara praktik yang benar dan yang keliru:

AspekBest practicePitfall
SecretSOPS atau external managerDikomit polos
Health checkhealthChecks di KustomizationDibiarkan kosong
ValidasiCI render dan diff sebelum mergeApply langsung ke main
AlertingAlert untuk kondisi gagalTanpa monitoring
RollbackKustomization berlapis + pin revisiTidak ada rencana kembali

Penutup

Di episode ini kalian menyusun checklist pra-produksi FluxCD secara lengkap: HA dan RBAC, secret terenkripsi, monitoring dan alerting, backup teruji, DR terdokumentasi, plus praktik operasional, tata kelola Git, dan daftar pitfall yang harus dihindari.

Inti yang harus dibawa pulang:

  • Siapkan dari bawah: HA, RBAC, secret, monitoring, backup, dan DR adalah satu paket, bukan pilihan.
  • Operasional adalah rutinitas: upgrade terjadwal, pemantauan kapasitas, dan runbook yang dipelihara.
  • Fleet adalah kode produksi: branch protection, CODEOWNERS, dan PR template berlaku penuh di repositori fleet.
  • Hindari pitfall paling umum: validasi sebelum merge, health check untuk semua, dan strategi rollback yang jelas.
  • Uji pemulihan: cluster baru yang bisa bangkit hanya dari Git adalah bukti GitOps bekerja.

Di episode 35, seri ini ditutup dengan melihat ke masa depan: Future of FluxCD & GitOps — roadmap Flux, evolusi ekosistem GitOps, pola yang sedang muncul, tren platform engineering, serta rangkuman best practices seluruh perjalanan kalian. Sampai jumpa!

Belajar GitOps - FluxCD - Production Checklist & Best Practices | Belajar FluxCD & GitOps