Belajar GitOps - FluxCD - Pre-Requisites Skill & Setup Environment
Episode 0 of 36

Belajar GitOps - FluxCD - Pre-Requisites Skill & Setup Environment

Episode pembuka seri GitOps dengan FluxCD: skill fundamental yang wajib kalian kuasai, tools yang harus disiapkan, spesifikasi hardware minimum, dan cara memverifikasi seluruh setup sebelum masuk ke materi inti.

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

Pendahuluan

Selamat datang di seri Belajar GitOps - Continuous Delivery dengan FluxCD! Di seri ini kita akan membangun fondasi deployment modern dari nol: mulai dari memahami mengapa GitOps lahir, membedah arsitektur FluxCD sebagai salah satu implementasi GitOps paling matang di ekosistem Cloud Native, sampai mengoperasikan FluxCD untuk menyinkronkan Kubernetes dengan repository Git secara otomatis.

Namun sebelum menyentuh FluxCD, ada satu aturan yang tidak bisa ditawar: GitOps berada di persimpangan banyak disiplin — Git, Kubernetes, YAML, container, dan CI/CD. Kalau salah satu fondasinya goyah, materi berikutnya akan terasa seperti membangun rumah di atas pasir. Karena itu, episode 0 ini khusus menyiapkan seluruh fondasi: skill yang wajib dimiliki, tools yang perlu diinstall, spesifikasi hardware, dan langkah verifikasi agar semuanya siap ketika seri ini berlanjut.

Skill yang Wajib Dimiliki

FluxCD pada dasarnya adalah kumpulan controller Kubernetes yang membaca Git dan mewujudkan isinya ke cluster. Maka skill di bawah ini bukan sekadar "sebaiknya", melainkan "wajib" karena akan dipakai di hampir semua episode.

Git (branch, tag, commit, pull request)

GitOps berarti "semua perubahan melalui Git". Kalian harus nyaman dengan git clone, git add, git commit, git push, git pull, dan git checkout. Jangan berhenti di situ — pahami juga konsep branch, tag, dan pull request, karena di produksi perubahan environment tidak pernah di-push langsung ke branch utama. PR adalah gerbang review dan audit.

Kubernetes Fundamentals

FluxCD mewujudkan manifest ke cluster, jadi kalian harus paham objek-objek inti Kubernetes: Pod, Deployment, Service, ConfigMap, Secret, Ingress, dan Namespace. Yang terpenting, pahami konsep desired state dan reconciliation: Kubernetes terus-menerus menyelaraskan kondisi nyata dengan yang dideklarasikan — konsep yang sama persis dengan yang dilakukan FluxCD. Karena FluxCD bekerja lewat CustomResourceDefinition (CRD), kalian juga akan sering berinteraksi dengan objek kustom, jadi kenali bagaimana CRD dan controller bekerja.

YAML dan Kubernetes Manifests

Sebagian besar pekerjaan GitOps adalah menulis dan membaca YAML. Pastikan kalian paham aturan indentasi (spasi, bukan tab), struktur key: value, list, dan cara membaca manifest multi-dokumen (---). Jangan khawatir soal keindahan — yang penting konsisten dan valid.

Konsep CI/CD

GitOps adalah bagian dari CD (Continuous Delivery). Kalian perlu tahu bedanya CI (membangun dan menguji artefak) vs CD (menghantarkan artefak ke environment). FluxCD menggantikan "tahap deploy" tradisional, bukan seluruh pipeline CI.

Container dan Docker

FluxCD tidak menjalankan container, tetapi aplikasi yang dikelolanya berbentuk image container. Pahami dasar Dockerfile, cara build dan pull image, serta istilah registry dan tag. Tanpa ini, konfigurasi image di manifest akan terasa seperti teka-teki.

Kemampuan CLI: kubectl, git, dan flux

Semua demo di seri ini memakai CLI. Minimal kalian harus nyaman menavigasi terminal dan membaca output perintah. kubectl adalah jembatan kalian ke cluster; setiap perintah yang dikerjakan FluxCD juga bisa kalian verifikasi manual dengan kubectl. CLI flux akan dikenalkan di episode ini dan dibahas menyeluruh di episode 5.

Declarative vs Imperative

Pahami perbedaan mendasar antara declarative (mendeskripsikan hasil akhir yang diinginkan) dan imperative (menuliskan langkah-langkah untuk mencapai hasil). GitOps sepenuhnya dibangun di atas paradigma declarative. Kalau konsep ini masih samar, episode 1 akan mengulanginya dari akar sejarah.

Konsep Controller dan Operator

FluxCD dibangun di atas pola controller: sebuah loop yang terus-menerus membandingkan state nyata dengan desired state, lalu melakukan aksi untuk menghilangkan perbedaan. Kenali istilah reconcile, reconciliation loop, dan operator Kubernetes. Konsep inilah yang membuat FluxCD bisa bekerja terus-menerus tanpa intervensi manusia.

Software dan Tools yang Perlu Disiapkan

NoToolFungsiLevel
1Kubernetes cluster (minikube, kind, k3s, cloud)Target tempat aplikasi dideployWajib
2kubectlCLI untuk berinteraksi dengan clusterWajib
3Git clientBerinteraksi dengan repositoryWajib
4Flux CLI (flux)Kontrol FluxCD dari terminalWajib
5Helm 3.xPackage manager untuk KubernetesWajib
6Kustomize (built-in kubectl)Manajemen konfigurasi native KubernetesWajib
7Text editor / IDE (VS Code + extensions)Menulis dan mengedit manifestWajib
8Docker DesktopLocal development dan imageOpsional
9Akun GitHub / GitLab / BitbucketHosting repository manifestWajib
10Personal Access Token (PAT)Kredensial akses repository untuk FluxCDWajib

Khusus untuk pilihan cluster lokal, rekomendasi saya: gunakan kind atau minikube karena paling ringan untuk lab, dan k3s jika ingin pengalaman yang lebih mendekati produksi. Semuanya valid — pilih yang paling nyaman dengan OS kalian.

Important

Personal Access Token hanya boleh disimpan di lingkungan yang aman. Saat bootstrap, FluxCD menulis kredensial ini menjadi Secret di cluster (bukan di Git), dan di CI token disimpan sebagai secret pipeline. Jangan pernah commit token ke repository.

Hardware Minimum

GitOps bukan kerja berat untuk laptop kalian, tapi Kubernetes cluster lokal yang cukup rakus. Rekomendasinya:

KomponenMinimumRecommended
RAM8 GB16 GB+
Storage20 GB free40 GB+
CPUQuad-coreQuad-core +
InternetStabilStabil

Tip

Cluster lokal berbagi sumber daya dengan OS utama. Kalau laptop kalian bermasalah dengan minikube atau kind, coba turunkan alokasi resource cluster (misal --cpus 2 --memory 4096), atau gunakan VM cloud untuk lab.

Memverifikasi Setup

Setelah menginstall seluruh tools, verifikasi dengan satu perintah per tools. Pastikan tidak ada error sebelum melanjutkan ke episode berikutnya.

kubectl version --client
kubectl cluster-info
kubectl get nodes

Jika cluster belum ada, buat dulu:

Membuat cluster lab dengan kind
kind create cluster --name gitops-fluxcd
kubectl config current-context
kubectl get nodes

Warning

Pastikan kubectl config current-context menunjuk ke cluster yang benar. Salah context adalah penyebab paling umum "manifest berhasil di-apply tapi hilang" — FluxCD akan mendeploy ke cluster yang sedang aktif.

Penutup

Episode 0 adalah gerbang masuk seri ini. Berikut yang wajib kalian bawa:

  • Skill inti: Git, Kubernetes fundamentals, YAML, CI/CD, Docker, CLI, dan konsep controller.
  • Tools terpasang: cluster lokal plus kubectl, Helm, Kustomize, dan Flux CLI.
  • Kredensial siap: akun GitHub/GitLab/Bitbucket plus Personal Access Token.
  • Hardware mencukupi: RAM, storage, CPU, dan internet yang stabil.
  • Setup terverifikasi: semua perintah verifikasi di atas berjalan tanpa error.

Di episode 1 berikutnya kita masuk ke bagian yang paling penting secara konseptual: sejarah deployment aplikasi, kelahiran GitOps oleh Weaveworks, masalah yang dipecahkannya, dan mengapa model pull mengubah cara kita mendeploy. Pastikan semua tools sudah terpasang, karena materi praktik akan segera dimulai!

Belajar GitOps - FluxCD - Pre-Requisites Skill & Setup Environment | Belajar FluxCD & GitOps