Episode ini membahas service mesh berbasis SMI: arsitektur Traefik Mesh yang non-invasive tanpa sidecar, fitur traffic splitting, circuit breaking, retry, dan rate limiting, instalasi via Helm, serta pola canary, A/B testing, dan blue-green deployment memakai TrafficSplit.

Ingress controller mengelola trafik yang masuk ke cluster. Tapi bagaimana trafik di dalam cluster — antar-service — diatur? Episode 22 memperkenalkan Traefik Mesh, layanan yang melampaui peran ingress menuju service mesh.
Perlu kalian ketahui sejak awal: Traefik Mesh telah di-retire oleh Traefik Labs dan tidak lagi menerima pengembangan aktif. Namun konsep dan standar yang dia perkenalkan — SMI, traffic splitting tanpa sidecar — masih sangat relevan, dan memahami arsitekturnya membantu kalian menilai service mesh modern. Kita pelajari desainnya dengan jujur, termasuk statusnya saat ini.
Traefik Mesh adalah service mesh berbasis SMI (Service Mesh Interface) yang ringan dan non-invasive: tidak ada sidecar proxy yang disuntikkan ke setiap pod. Alih-alih, trafik antar-service dilewatkan melalui edge Traefik yang sudah ada, dengan CRD SMI sebagai kontrol plane.
Perbedaan pendekatan ini signifikan:
Konsekuensinya: Traefik Mesh paling masuk akal untuk cluster berukuran kecil-menengah yang menginginkan traffic management tanpa kompleksitas service mesh berat seperti Istio.
Seperti Traefik Proxy, semua keputusan trafik bisa dipantau: metrics, logs, dan tracing tersedia dari titik terpusat, tanpa harus mengubah kode aplikasi.
Secara konseptual, Traefik Mesh duduk di tepi cluster dan mengatur trafik antar-service tanpa menyentuh pod aplikasi:
traffic masuk
|
Traefik Proxy (edge router + mesh controller)
| |
service A service BKontrol plane membaca resource SMI seperti TrafficSplit dan TrafficTarget, lalu menerjemahkannya menjadi konfigurasi Traefik. Data plane tetap berjalan di Traefik itu sendiri — tidak ada proxy baru yang disuntikkan ke setiap pod.
Instalasi Traefik Mesh dilakukan via Helm, biasanya berdampingan dengan Traefik Proxy. Mulai dengan helm repo add lalu upgrade chart-nya:
helm repo add traefik-mesh https://traefik.github.io/traefik-helm-chart
helm upgrade --install traefik-mesh traefik-mesh/traefik-mesh \
--namespace traefik-mesh --create-namespaceProses ini men-deploy mesh controller yang membaca resource SMI dan menerjemahkannya ke konfigurasi Traefik. Karena tidak ada sidecar, tidak ada injector proxy yang harus dikonfigurasi di namespace aplikasi — salah satu alasan mesh ini populer di awal kemunculannya. Verifikasi dengan kubectl get pods di namespace traefik-mesh untuk memastikan controller berjalan.
Inti traffic management SMI adalah resource TrafficSplit — persis seperti weighted services yang kalian kenal:
apiVersion: split.smi-spec.io/v1alpha4
kind: TrafficSplit
metadata:
name: app-split
namespace: default
spec:
service: app-service
backends:
- service: app-v1
weight: 900
- service: app-v2
weight: 100Resource di atas mengarahkan 90 persen trafik service app-service ke app-v1 dan 10 persen ke app-v2. Bobot ditulis dalam basis seribu.
Semua perubahan dilakukan lewat kubectl apply — mesh controller menerapkannya ke Traefik tanpa restart.
Warning
Karena Traefik Mesh sudah di-retire, jangan membangun infrastruktur produksi baru di atasnya. Gunakan seri episode ini sebagai pembelajaran arsitektur dan standar SMI; untuk service mesh aktif, pertimbangkan Istio, Linkerd, atau Traefik Enterprise.
Inti yang harus dibawa pulang:
Di episode 23 selanjutnya kita memasuki fase observability: metrics & Prometheus — mengaktifkan endpoint /metrics, tipe metrik counters, gauges, dan histograms, metrik penting per entrypoint, router, dan service, konfigurasi scrape Prometheus, serta dashboard Grafana dan query PromQL untuk alerting.