Belajar Envoy Proxy - Pre-Requisites Skill & Setup Environment
Episode 0 of 23

Belajar Envoy Proxy - Pre-Requisites Skill & Setup Environment

Sebelum menyentuh Envoy, kalian perlu menguasai dasar jaringan, konsep proxy dan load balancer, serta menyiapkan Docker, curl, dan binary Envoy. Di episode ini kalian menyiapkan environment lab dan memverifikasi Envoy pertama kali.

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

Pendahuluan

Selamat datang di series Belajar Envoy Proxy! Series ini akan membawa kalian menguasai Envoy — data plane proxy layer-7 open-source yang dipakai di ribuan platform termasuk Istio, Gloo, dan banyak service mesh besar — dari fondasi konsep sampai production hardening. Total ada 23 episode yang tersusun dari enam fase.

Tapi sebelum menulis konfigurasi pertama, ada beberapa skill dasar dan perangkat lunak yang wajib kalian miliki. Mengapa prasyarat ini penting? Karena Envoy beroperasi di jantung jaringan: dia menerima koneksi TCP, berbicara HTTP dan HTTP/2, melakukan TLS, dan menerjemahkan domain. Kalau kalian belum paham istilah dasar jaringan, semua fitur Envoy akan terasa seperti kotak hitam.

Episode 0 ini adalah peta jalan kalian: kita akan memastikan skill dasar jaringan, memahami konsep proxy dan load balancer, menyiapkan perangkat lunak yang dibutuhkan, lalu menjalankan Envoy untuk pertama kali. Setelah episode ini selesai, seluruh series bisa diikuti dengan nyaman.

Skill Dasar Jaringan yang Wajib Dikuasai

TCP, UDP, HTTP, TLS, dan DNS

Envoy bekerja di lapisan transport dan aplikasi, jadi kalian wajib paham dasar-dasar berikut:

  • TCP: protokol koneksi berorientasi aliran yang dipakai hampir semua layanan internal.
  • UDP: protokol tanpa koneksi, dipakai untuk DNS dan beberapa workload real-time.
  • HTTP: protokol request-response di atas TCP, plus varian modern HTTP/2 dan HTTP/3.
  • TLS: lapisan enkripsi yang mengamankan HTTP menjadi HTTPS dan dipakai Envoy untuk sertifikat.
  • DNS: sistem penamaan yang mengubah hostname menjadi alamat IP.

Kalian tidak perlu hafal detail header TCP, tapi wajib paham alur satu request: klien membuat koneksi, mengirim request HTTP, Envoy meneruskan ke backend, lalu mengembalikan respons.

Konsep Proxy, Reverse Proxy, Load Balancer, dan Service Mesh

Beberapa istilah yang akan dipakai sepanjang series:

  • Proxy: perantara antara klien dan server.
  • Reverse proxy: proxy di depan server backend yang menerima request dari klien eksternal.
  • Load balancer: pembagi traffic ke beberapa backend agar beban merata.
  • Service mesh: lapisan jaringan untuk komunikasi antar service, biasanya memakai Envoy sebagai sidecar.
Verifikasi tool jaringan dasar
curl --version
openssl version
getent hosts envoyproxy.io

Perintah getent hosts envoyproxy.io menguji resolusi DNS kalian. Jika tiga perintah di atas berjalan tanpa error, fondasi jaringan kalian sudah siap.

Perangkat Lunak yang Perlu Disiapkan

Envoy Binary atau Docker Image

Cara paling mudah menjalankan Envoy di lab adalah lewat image resmi:

Menarik image Envoy
docker pull envoyproxy/envoy:v1.31.0
docker run -d --name envoy-lab -p 10000:10000 -p 9901:9901 envoyproxy/envoy:v1.31.0

Kontainer bernama envoy-lab ini menjalankan Envoy dengan config default, port 10000 untuk traffic dan 9901 untuk admin interface. Perintah docker run adalah cara tercepat mendapat Envoy tanpa mengompilasi dari sumber.

Jika kalian ingin binary langsung, unduh dari GitHub release resmi Envoy dan jalankan perintah envoy --version untuk memastikan binary bekerja.

Tool Debugging Jaringan

Selain curl, siapkan tool berikut:

  • openssl untuk memeriksa sertifikat dan melakukan handshake TLS manual.
  • tcpdump untuk menangkap paket di level jaringan, opsional namun sangat membantu.
  • wireshark untuk analisis paket secara visual, opsional.
  • dig atau nslookup untuk debugging DNS.
Cek ketersediaan tool
which curl openssl tcpdump

Jika tcpdump belum ada di sistem kalian, jalankan apt install tcpdump di Ubuntu/Debian atau padanannya sesuai distro. Tool ini akan berguna saat kita debug koneksi TCP di episode 6 dan 12.

Kubernetes Cluster Sederhana

Episode 17 dan 19 membahas Envoy di Kubernetes. Untuk lab, kalian bisa memakai:

  • minikube untuk cluster single-node di lokal.
  • kind untuk cluster ringan berbasis Docker.
  • k3s untuk cluster kecil yang hemat resource.

Siapkan salah satu sekarang agar tidak menyita waktu di fase 6. Kubernetes bersifat opsional untuk 16 episode pertama, jadi kalian bisa lanjut tanpa cluster dulu.

Menyiapkan Workspace dan Editor

Struktur Direktori Project

Buat direktori kerja untuk seluruh series:

Membuat workspace Envoy
mkdir -p ~/envoy-lab/configs
mkdir -p ~/envoy-lab/certs
mkdir -p ~/envoy-lab/logs
cd ~/envoy-lab

Saya menyarankan editor VS Code dengan plugin YAML. Envoy config berbasis YAML dengan indentasi yang ketat, jadi plugin YAML membantu mendeteksi kesalahan indentasi sejak awal. Simpan semua file config di direktori configs agar mudah dipakai ulang di episode-episode berikutnya.

Menguji Admin Interface Envoy

Setelah kontainer berjalan, uji admin interface yang berjalan di port 9901:

Menguji admin Envoy
curl -s localhost:9901/server_info
curl -s localhost:9901/stats | head -10
curl -s localhost:9901/config_dump

curl localhost:9901/server_info menampilkan versi Envoy, dan config_dump memperlihatkan konfigurasi yang sedang aktif. Admin interface ini adalah teman terbaik kalian selama belajar Envoy — kita akan memakai endpoint-nya di hampir semua episode.

Ringkasan Prasyarat yang Sudah Disiapkan

Rangkuman apa saja yang harus kalian miliki setelah episode 0:

  • Skill jaringan dasar: TCP, UDP, HTTP, TLS, dan DNS.
  • Konsep proxy, reverse proxy, load balancer, dan service mesh.
  • Envoy via Docker atau binary, plus curl, openssl, dan tcpdump.
  • VS Code dengan plugin YAML untuk mengedit config.
  • Kubernetes opsional, siapkan minikube, kind, atau k3s untuk fase 6.
  • Admin interface Envoy di port 9901 yang sudah bisa diakses.

Jika ada yang belum terpenuhi, berhenti dulu dan lengkapi sebelum melanjutkan. Fondasi yang kuat akan membuat 22 episode berikutnya terasa jauh lebih ringan.

Penutup

Di episode 0 ini kalian sudah menyiapkan pijakan untuk seluruh series: memahami skill jaringan dasar, konsep proxy dan load balancer, menyiapkan Docker dengan image Envoy resmi, mengaktifkan admin interface, dan menyusun workspace project.

Inti yang harus dibawa pulang:

  • Envoy adalah proxy layer-7, jadi kuasai dulu TCP, HTTP, TLS, dan DNS.
  • Pahami perbedaan proxy, reverse proxy, load balancer, dan service mesh.
  • Jalankan Envoy lewat docker run dengan image envoyproxy/envoy.
  • Admin interface di port 9901 adalah pusat debugging: server_info, stats, config_dump.
  • Siapkan curl, openssl, dan tcpdump untuk episode-episode mendatang.
  • Kubernetes opsional tapi siapkan minikube, kind, atau k3s sebelum fase 6.

Di episode 1 selanjutnya kita akan membahas sejarah, latar belakang, dan mengapa membutuhkan Envoy — dari kelahiran Envoy di Lyft, evolusinya sebagai modern proxy layer-7 untuk microservices, hingga perbandingannya dengan NGINX, HAProxy, dan data plane service mesh. Pastikan environment kalian sudah siap, karena perjalanan Belajar Envoy Proxy baru saja dimulai!