Belajar Multigress - Instalasi & Konfigurasi Dasar
Episode 3 of 23

Belajar Multigress - Instalasi & Konfigurasi Dasar

Episode ini memandu instalasi Multigress di cluster menggunakan Helm, konfigurasi dasar Gateway dan HTTPRoute, serta verifikasi instalasi, layanan, dan logs untuk memastikan semuanya berjalan dengan benar.

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

Pendahuluan

Teori sudah cukup. Episode 3 adalah momen di mana kalian benar-benar menginstall Multigress di cluster dan mengamati dia bekerja. Kita akan memakai Helm untuk menyebarkan komponen, lalu membuat Gateway dan HTTPRoute pertama, dan menutupnya dengan verifikasi instalasi, layanan, dan logs.

Target akhir episode ini sederhana: sebuah request HTTP yang masuk ke gateway berhasil diteruskan ke aplikasi contoh bernama echo. Kalau itu tercapai, semua episode praktik berikutnya punya pijakan yang sama.

Menyebarkan Multigress dengan Helm

Menambah Repo Helm

Multigress didistribusikan sebagai Helm chart resmi. Pertama, tambahkan repo-nya:

Tambah repo Helm Multigress
helm repo add multigress https://charts.multigress.io
helm repo update

Perintah helm repo update menarik metadata chart terbaru. Pastikan tidak ada error waktuout — ini tanda awal bahwa koneksi jaringan kalian sehat.

Install Chart

Sekarang install Multigress ke namespace khusus:

Install Multigress
helm install multigress multigress/multigress \
  --namespace multigress-system \
  --create-namespace

Flag --create-namespace membuat namespace multigress-system otomatis jika belum ada. Proses ini membutuhkan pull image untuk controller dan data plane.

Periksa pod setelah instalasi
kubectl get pods -n multigress-system

Tunggu hingga semua pod berstatus Running. Pod multigress-controller adalah control plane, sedangkan pod multigress-proxy adalah data plane yang nanti memproses traffic.

Install Resource Gateway API

Secara default Gateway API CRD ikut terinstall bersama chart. Pastikan mereka tersedia:

Cek CRD Gateway API
kubectl get crd | grep gateway.networking.k8s.io

Output harus menampilkan gateways.gateway.networking.k8s.io dan httproutes.gateway.networking.k8s.io. Jika tidak ada, install manual dari rilis resmi Gateway API.

Konfigurasi Dasar Gateway dan HTTPRoute

Membuat Aplikasi Contoh

Sebelum mengarahkan traffic, siapkan aplikasi echo sederhana:

Deploy aplikasi contoh
kubectl create deployment echo --image=hashicorp/http-echo --replicas=2
kubectl expose deployment echo --port=80 --target-port=5678

Aplikasi echo mengembalikan teks JSON yang berisi request yang diterimanya — sangat berguna untuk memverifikasi routing.

Gateway Pertama

Simpan manifest berikut sebagai gateway.yaml:

Gateway HTTP pertama
apiVersion: gateway.networking.k8s.io/v1
kind: Gateway
metadata:
  name: main-gateway
  namespace: multigress-system
spec:
  gatewayClassName: multigress
  listeners:
    - name: http
      protocol: HTTP
      port: 80

Terapkan dan periksa statusnya:

Terapkan Gateway
kubectl apply -f gateway.yaml
kubectl get gateway main-gateway -n multigress-system

Kolom STATUS harus menunjukkan Programmed atau Ready. Jika Accepted, berarti listener-nya valid.

HTTPRoute Pertama

Sekarang hubungkan gateway ke aplikasi echo. Simpan sebagai httproute.yaml:

HTTPRoute pertama
apiVersion: gateway.networking.k8s.io/v1
kind: HTTPRoute
metadata:
  name: echo-route
spec:
  parentRefs:
    - name: main-gateway
      namespace: multigress-system
  rules:
    - backendRefs:
        - name: echo
          port: 80

Route ini menyatakan: semua traffic pada gateway menuju Service echo port 80. Terapkan dan verifikasi:

Terapkan HTTPRoute
kubectl apply -f httproute.yaml
kubectl get httproute echo-route

Perhatikan status Accepted: True dan ResolvedRefs: True pada detail route.

Verifikasi Instalasi, Layanan, dan Logs

Tes Request Melalui Gateway

Ambil alamat gateway, lalu kirim request menggunakan port-forward untuk kesederhanaan:

Tes akses via gateway
kubectl port-forward -n multigress-system svc/multigress-proxy 8080:80
curl -s http://localhost:8080

Jika semua berjalan, curl -s http://localhost:8080 akan menampilkan respons JSON dari aplikasi echo. Ini bukti bahwa data plane meneruskan traffic dengan benar.

Memeriksa Logs

Ketika terjadi masalah, logs adalah sumber pertama yang harus dicek:

Lihat logs controller dan proxy
kubectl logs -n multigress-system deploy/multigress-controller --tail=50
kubectl logs -n multigress-system deploy/multigress-proxy --tail=50

Log controller menampilkan proses penerjemahan konfigurasi, sedangkan log proxy menampilkan aktivitas request. Pola kubectl logs -n multigress-system deploy/multigress-controller --tail=50 akan menjadi teman kalian di seluruh series.

Warning

Jika status Gateway tidak Programmed, periksa apakah gatewayClassName sesuai dengan nilai spec.controllerName dari GatewayClass multigress. Kesalahan paling umum adalah nama class yang tidak sama persis.

Penutup

Episode 3 menuntaskan langkah pertama yang krusial: Multigress terinstall, Gateway dan HTTPRoute pertama diterapkan, aplikasi echo bisa dijangkau lewat proxy, dan kalian tahu persis ke mana harus melihat ketika sesuatu rusak.

Inti yang harus dibawa pulang:

  • Install Multigress lewat helm install ke namespace multigress-system.
  • Pastikan CRD Gateway API tersedia sebelum memakai Gateway dan route.
  • Gateway mendeklarasikan listener; HTTPRoute mendeklarasikan tujuan traffic.
  • Verifikasi dengan kubectl get untuk status dan curl untuk fungsionalitas.
  • Logs controller dan proxy adalah alat troubleshooting pertama.

Di episode 4 selanjutnya kita akan mendalami Gateway API dan HTTPRoute — memahami GatewayClass, Gateway, HTTPRoute, TLSRoute, dan ReferenceGrant, mengonfigurasi routing host dan path menuju service backend, serta mode integrasi dengan Service dan Ingress yang sudah ada. Pastikan instalasi episode 3 masih hidup.

Belajar Multigress - Instalasi & Konfigurasi Dasar | Belajar Multigress