Istio Ingress Gateway: Pengertian, Cara Kerja, Arsitektur, Komponen, Fungsi, Manfaat, Kelebihan, Kekurangan, dan Implementasinya | Dewa234
Istio Ingress Gateway: Pengertian, Cara Kerja, Arsitektur, Komponen, Fungsi, Manfaat, Kelebihan, Kekurangan, dan Implementasinya
Dalam arsitektur microservices, tidak semua traffic berasal dari service lain yang berada di dalam cluster. Banyak request berasal dari luar sistem, seperti browser pengguna, aplikasi mobile, partner API, sistem eksternal, maupun client dari jaringan perusahaan.
Traffic yang masuk dari luar menuju service yang berada di dalam Service Mesh disebut sebagai ingress traffic. Traffic tersebut membutuhkan titik masuk yang dapat mengatur port, protocol, hostname, TLS, routing, serta berbagai kebijakan keamanan sebelum request diteruskan menuju service internal.
Istio menyediakan Ingress Gateway sebagai salah satu komponen yang digunakan untuk menangani traffic masuk ke service mesh. Ingress Gateway berjalan menggunakan Envoy Proxy di edge mesh dan dapat dikonfigurasi untuk menerima koneksi HTTP, HTTPS, TLS, TCP, maupun protocol lain yang didukung.
Dengan Ingress Gateway, organisasi tidak perlu mengekspos setiap microservice secara langsung ke internet. Sebaliknya, traffic dapat masuk melalui gateway terpusat kemudian diteruskan menuju service internal berdasarkan aturan routing yang telah ditentukan.
Istio Gateway sendiri mendefinisikan karakteristik koneksi seperti port, protocol, host, dan konfigurasi TLS. Sedangkan aturan routing aplikasi dapat ditentukan melalui VirtualService. Pemisahan ini memberikan fleksibilitas dalam mengelola traffic masuk. :contentReference[oaicite:1]{index=1}
Apa Itu Istio Ingress Gateway?
Istio Ingress Gateway adalah gateway berbasis Envoy yang berfungsi sebagai titik masuk traffic dari luar menuju service yang berada di dalam Istio Service Mesh.
Ingress Gateway berada di bagian edge dari mesh sehingga request dari external client dapat diproses sebelum diteruskan menuju internal service.
External Client
|
v
+-----------------------+
| Istio Ingress Gateway |
| Envoy Proxy |
+-----------+-----------+
|
v
Istio Service Mesh
|
v
Internal Service
Dengan arsitektur tersebut, Ingress Gateway dapat menjadi pintu masuk utama bagi aplikasi Dewa234 yang ingin diekspos ke pengguna atau sistem eksternal.
Istio juga memungkinkan Gateway digunakan bersama fitur traffic management sehingga traffic yang masuk dapat memperoleh kemampuan routing, monitoring, dan kontrol lain yang tersedia dalam service mesh. :contentReference[oaicite:2]{index=2}
Mengapa Istio Ingress Gateway Dibutuhkan?
Tanpa gateway, sebuah organisasi mungkin perlu mengekspos banyak service secara langsung.
Internet | +----> Service A | +----> Service B | +----> Service C | +----> Service D
Model tersebut dapat meningkatkan kompleksitas pengelolaan endpoint dan keamanan.
Dengan Ingress Gateway, traffic dapat masuk melalui satu atau beberapa entry point.
Internet
|
v
+-------------------+
| Ingress Gateway |
+---------+---------+
|
+-----------+-----------+
| | |
v v v
Service A Service B Service C
Gateway dapat digunakan sebagai lapisan pertama sebelum request diteruskan ke application service.
Konsep Ingress Traffic
Ingress traffic adalah traffic yang bergerak dari luar service mesh menuju service di dalam mesh.
Contohnya adalah:
- Browser mengakses website.
- Aplikasi mobile memanggil REST API.
- Partner melakukan request ke API perusahaan.
- External service memanggil webhook.
- Client mengakses aplikasi melalui HTTPS.
- Traffic dari load balancer menuju Kubernetes.
Internet | | Incoming Request v Ingress Gateway | v VirtualService | v Internal Service
Cara Kerja Istio Ingress Gateway
Ketika client melakukan request menuju aplikasi, request pertama kali diterima oleh service yang mengekspos Ingress Gateway.
- Client membuat request.
- Traffic mencapai external load balancer atau endpoint gateway.
- Request diteruskan menuju Ingress Gateway.
- Envoy Proxy menerima koneksi.
- Gateway mencocokkan port, protocol, dan hostname.
- VirtualService menentukan aturan routing.
- Request diteruskan menuju internal service.
- Service memproses request.
- Response dikembalikan melalui jalur gateway.
Client | v Load Balancer | v Ingress Gateway | v VirtualService | v Service | v Pod
Dengan demikian, Ingress Gateway menjadi bagian penting dari data plane yang menangani traffic pada edge mesh.
Arsitektur Istio Ingress Gateway
+-------------------------------------------------------+
| Internet |
+--------------------------+----------------------------+
|
v
+----------------------+
| External LoadBalancer|
+----------+-----------+
|
v
+----------------------+
| Istio IngressGateway |
| Envoy Proxy |
+----------+-----------+
|
v
+----------------------+
| VirtualService |
+----------+-----------+
|
+--------------+--------------+
| | |
v v v
Service A Service B Service C
| | |
v v v
Pods Pods Pods
Pada arsitektur tersebut, external client tidak langsung berkomunikasi dengan Pod. Traffic melewati Ingress Gateway terlebih dahulu.
Gateway menentukan bagaimana koneksi diterima, sedangkan VirtualService menentukan bagaimana request diarahkan menuju destination.
Komponen Istio Ingress Gateway
| Komponen | Fungsi |
|---|---|
| Envoy Proxy | Data plane yang menerima dan meneruskan traffic. |
| Gateway | Mendefinisikan port, protocol, hostname, dan TLS. |
| VirtualService | Mengatur routing traffic menuju service. |
| Kubernetes Service | Mengekspos gateway ke jaringan cluster atau external load balancer. |
| Deployment | Menjalankan instance gateway. |
| Istio Control Plane | Mendistribusikan konfigurasi ke Envoy Proxy. |
Fungsi Istio Ingress Gateway
- Menyediakan entry point menuju service mesh.
- Menerima traffic dari external client.
- Mengatur port yang dapat diakses.
- Mengatur protocol traffic.
- Mengelola hostname.
- Mendukung HTTP dan HTTPS.
- Mendukung TLS termination.
- Mendukung TLS passthrough.
- Menghubungkan external client dengan internal service.
- Mendukung routing berdasarkan hostname.
- Mendukung routing berdasarkan URI.
- Mendukung monitoring dan observability.
- Mendukung integrasi dengan policy keamanan Istio.
Istio Gateway dan VirtualService
Salah satu konsep penting dalam Istio Ingress Gateway adalah pemisahan antara Gateway dan VirtualService.
Gateway menentukan bagaimana gateway menerima traffic.
Gateway | +-- Port +-- Protocol +-- Host +-- TLS
Sedangkan VirtualService menentukan bagaimana traffic tersebut diarahkan.
VirtualService | +-- Host +-- URI +-- Route +-- Destination +-- Gateway
Istio menjelaskan bahwa resource Gateway mengatur properti koneksi layer 4–6 seperti port dan TLS, sementara routing aplikasi layer 7 dilakukan melalui VirtualService. :contentReference[oaicite:3]{index=3}
Contoh Gateway HTTP
Contoh sederhana Gateway untuk menerima HTTP pada port 80:
apiVersion: networking.istio.io/v1
kind: Gateway
metadata:
name: httpbin-gateway
spec:
selector:
istio: ingressgateway
servers:
- port:
number: 80
name: http
protocol: HTTP
hosts:
- "api.example.com"
Selector pada contoh tersebut harus sesuai dengan label Pod gateway yang digunakan.
Pada deployment gateway standar Istio, label seperti istio=ingressgateway digunakan sebagai selector. :contentReference[oaicite:4]{index=4}
VirtualService untuk Ingress Gateway
Setelah Gateway dibuat, routing dapat didefinisikan menggunakan VirtualService.
apiVersion: networking.istio.io/v1
kind: VirtualService
metadata:
name: api-route
spec:
hosts:
- "api.example.com"
gateways:
- httpbin-gateway
http:
- match:
- uri:
prefix: /
route:
- destination:
host: api-service
port:
number: 8080
Dengan konfigurasi tersebut, request menuju api.example.com yang masuk melalui gateway akan diarahkan menuju service api-service pada port 8080.
Routing Berdasarkan URI
Ingress Gateway dapat dikombinasikan dengan VirtualService untuk melakukan routing berdasarkan path atau URI.
api.example.com/users
|
v
User Service
api.example.com/orders
|
v
Order Service
api.example.com/products
|
v
Product Service
Contoh konfigurasi:
http:
- match:
- uri:
prefix: /users
route:
- destination:
host: user-service
port:
number: 8080
- match:
- uri:
prefix: /orders
route:
- destination:
host: order-service
port:
number: 8080
Pendekatan tersebut memungkinkan satu hostname digunakan untuk beberapa microservice.
Routing Berdasarkan Hostname
Ingress Gateway juga dapat digunakan untuk beberapa domain.
api.example.com
|
v
API Service
shop.example.com
|
v
Shop Service
admin.example.com
|
v
Admin Service
Gateway dapat mendefinisikan beberapa host sesuai kebutuhan.
hosts: - "api.example.com" - "shop.example.com" - "admin.example.com"
Untuk lingkungan production, penggunaan hostname yang spesifik umumnya lebih aman dan mudah dikelola dibanding wildcard yang terlalu luas.
HTTPS pada Istio Ingress Gateway
Untuk aplikasi production, traffic ingress umumnya menggunakan HTTPS agar komunikasi antara client dan gateway terlindungi oleh TLS.
Istio Ingress Gateway mendukung konfigurasi secure gateway menggunakan TLS.
Internet | | HTTPS v Ingress Gateway | | HTTP / HTTPS v Internal Service
Gateway dapat melakukan TLS termination sehingga koneksi TLS dari client berakhir di gateway sebelum request diteruskan ke service internal.
Istio menyediakan konfigurasi secure gateway untuk TLS maupun mutual TLS. :contentReference[oaicite:5]{index=5}
Contoh HTTPS Gateway
apiVersion: networking.istio.io/v1
kind: Gateway
metadata:
name: secure-gateway
spec:
selector:
istio: ingressgateway
servers:
- port:
number: 443
name: https
protocol: HTTPS
hosts:
- "api.example.com"
tls:
mode: SIMPLE
credentialName: api-example-cert
Dalam konfigurasi tersebut, gateway menerima HTTPS pada port 443.
Credential TLS digunakan untuk sertifikat yang diperlukan oleh gateway.
TLS Termination pada Istio Ingress Gateway
TLS termination berarti koneksi HTTPS dari client dihentikan pada gateway.
Client | | HTTPS v Ingress Gateway | | HTTP v Application
Model ini dapat menyederhanakan pengelolaan sertifikat pada backend service karena TLS dari external client ditangani di gateway.
Namun, organisasi tetap perlu mempertimbangkan kebutuhan enkripsi internal. Untuk sistem dengan persyaratan keamanan tinggi, traffic antara gateway dan backend dapat tetap menggunakan TLS atau mTLS.
TLS Passthrough
Dalam beberapa skenario, gateway tidak melakukan TLS termination. Traffic TLS diteruskan menuju destination sehingga backend tetap bertanggung jawab terhadap TLS.
Client | | TLS v Ingress Gateway | | TLS Passthrough v Backend Service
Istio mendukung konfigurasi SNI passthrough untuk ingress gateway ketika TLS perlu diteruskan tanpa termination pada gateway. :contentReference[oaicite:6]{index=6}
Istio Ingress Gateway dan SNI
SNI atau Server Name Indication memungkinkan gateway mengetahui hostname tujuan dari koneksi TLS.
Client | | SNI: api.example.com v Ingress Gateway | +---- api.example.com | +---- shop.example.com | +---- admin.example.com
Dengan SNI routing, satu gateway dapat menangani beberapa hostname HTTPS.
Implementasi Istio Ingress Gateway di Kubernetes
Sebelum membuat konfigurasi, pastikan Istio telah terpasang pada cluster Kubernetes.
Untuk instalasi yang menggunakan gateway bawaan, Istio dapat menyediakan deployment ingress gateway. Dokumentasi Istio juga merekomendasikan pemisahan pengelolaan gateway dari control plane untuk deployment production agar gateway dapat dikelola dan di-upgrade secara lebih independen. :contentReference[oaicite:7]{index=7}
1. Periksa Ingress Gateway
kubectl get pods -n istio-system
Cari Pod yang berkaitan dengan ingress gateway.
2. Periksa Service Gateway
kubectl get svc -n istio-system
Service gateway biasanya menyediakan port yang digunakan untuk menerima external traffic.
3. Buat Gateway
apiVersion: networking.istio.io/v1
kind: Gateway
metadata:
name: application-gateway
spec:
selector:
istio: ingressgateway
servers:
- port:
number: 80
name: http
protocol: HTTP
hosts:
- "app.example.com"
4. Buat VirtualService
apiVersion: networking.istio.io/v1
kind: VirtualService
metadata:
name: application-route
spec:
hosts:
- "app.example.com"
gateways:
- application-gateway
http:
- route:
- destination:
host: application-service
port:
number: 8080
5. Terapkan Konfigurasi
kubectl apply -f gateway.yaml kubectl apply -f virtualservice.yaml
6. Periksa Konfigurasi
kubectl get gateway kubectl get virtualservice
Menentukan IP Ingress Gateway
Untuk mengakses gateway dari luar cluster, administrator perlu mengetahui endpoint external gateway.
kubectl get svc -n istio-system istio-ingressgateway
Pada cloud provider yang mendukung LoadBalancer, service dapat memperoleh external IP atau hostname.
Dokumentasi Istio menyediakan langkah khusus untuk menentukan IP dan port ingress gateway berdasarkan jenis environment Kubernetes yang digunakan. :contentReference[oaicite:8]{index=8}
Ingress Gateway dengan LoadBalancer
Internet | v Cloud Load Balancer | v Istio Ingress Gateway | v Kubernetes Service | v Application
LoadBalancer dapat menjadi entry point dari internet dan meneruskan traffic menuju Ingress Gateway.
Pada cloud environment, external IP biasanya diberikan oleh cloud load balancer.
Ingress Gateway dengan NodePort
Pada environment yang tidak menyediakan LoadBalancer, NodePort dapat digunakan sebagai salah satu cara untuk mengekspos gateway.
Internet | v Node IP : NodePort | v Ingress Gateway | v Application
Port NodePort dapat diperiksa menggunakan:
kubectl get svc -n istio-system istio-ingressgateway
Ingress Gateway untuk API Gateway
Istio Ingress Gateway dapat digunakan sebagai entry point untuk berbagai API.
Internet
|
v
Istio Ingress Gateway
|
+---------+---------+
| | |
v v v
User Order Payment
API API API
Routing dapat dibuat berdasarkan hostname atau path.
Dengan demikian, satu gateway dapat menjadi pintu masuk bagi banyak API tanpa harus mengekspos setiap service secara langsung.
Ingress Gateway dan Security
Ingress Gateway berada di edge jaringan sehingga aspek keamanan harus diperhatikan dengan serius.
Beberapa mekanisme yang dapat digunakan antara lain:
- HTTPS.
- TLS.
- Mutual TLS.
- Authentication.
- Authorization.
- Rate limiting melalui komponen atau mekanisme yang sesuai.
- Network security.
- Firewall.
- Web Application Firewall.
Istio menyediakan secure gateway untuk TLS dan mutual TLS pada ingress traffic. :contentReference[oaicite:9]{index=9}
Istio Ingress Gateway dan Authentication
Ingress Gateway dapat menjadi bagian dari arsitektur authentication API.
Client | | JWT v Ingress Gateway | v Authentication | v Authorization | v Application
Dalam arsitektur Istio, resource keamanan seperti RequestAuthentication dan AuthorizationPolicy dapat digunakan sesuai kebutuhan.
Dengan demikian, gateway dapat menjadi salah satu titik penting dalam pengamanan external traffic sebelum request diteruskan ke backend.
Istio Ingress Gateway dan Observability
Karena Ingress Gateway menggunakan Envoy Proxy, traffic yang melewatinya dapat menjadi bagian dari observability service mesh.
Informasi yang dapat dipantau antara lain:
- Request count.
- Response status.
- Latency.
- Traffic volume.
- Connection error.
- HTTP response code.
- Access log.
External Client
|
v
Ingress Gateway
|
+---- Metrics
|
+---- Logs
|
+---- Tracing
|
v
Internal Service
Observability ini dapat membantu administrator melakukan troubleshooting terhadap masalah yang terjadi pada traffic ingress.
Shared Ingress Gateway
Pada lingkungan dengan banyak aplikasi, satu gateway dapat digunakan bersama oleh beberapa aplikasi.
Ingress Gateway
/ | \
/ | \
v v v
App A App B App C
Model shared gateway dapat mengurangi jumlah gateway yang harus dikelola.
Dokumentasi Istio menjelaskan shared gateway sebagai salah satu pola deployment gateway yang cocok ketika banyak aplikasi menggunakan infrastruktur ingress bersama. :contentReference[oaicite:10]{index=10}
Dedicated Ingress Gateway
Sebaliknya, organisasi dapat menyediakan gateway khusus untuk aplikasi tertentu.
Application A
|
v
Ingress Gateway A
Application B
|
v
Ingress Gateway B
Dedicated gateway dapat memberikan isolasi yang lebih besar untuk aplikasi yang memiliki kebutuhan performa atau keamanan khusus.
Namun, jumlah gateway yang lebih banyak berarti resource dan pengelolaan menjadi lebih kompleks. :contentReference[oaicite:11]{index=11}
Kelebihan Istio Ingress Gateway
- Menyediakan entry point terpusat.
- Mengurangi kebutuhan mengekspos setiap service secara langsung.
- Mendukung HTTP dan HTTPS.
- Mendukung TLS termination.
- Mendukung TLS passthrough.
- Mendukung routing berdasarkan hostname.
- Mendukung routing berdasarkan URI.
- Terintegrasi dengan VirtualService.
- Terintegrasi dengan fitur security Istio.
- Mendukung observability.
- Dapat digunakan sebagai shared gateway.
- Dapat digunakan sebagai dedicated gateway.
Kekurangan Istio Ingress Gateway
- Menambah komponen pada arsitektur.
- Membutuhkan pemahaman mengenai Istio.
- Konfigurasi Gateway dan VirtualService harus konsisten.
- Kesalahan TLS dapat menyebabkan koneksi gagal.
- Kesalahan hostname dapat menghasilkan routing error.
- Gateway membutuhkan resource CPU dan memory.
- Gateway harus dimonitor dan di-maintain.
- Arsitektur multi-gateway dapat menjadi kompleks.
Best Practice Istio Ingress Gateway
- Gunakan HTTPS untuk traffic production.
- Gunakan hostname yang spesifik.
- Hindari wildcard yang tidak diperlukan.
- Pisahkan Gateway dan VirtualService sesuai tanggung jawabnya.
- Gunakan authentication dan authorization sesuai kebutuhan.
- Monitor gateway secara berkala.
- Gunakan beberapa replica untuk meningkatkan availability.
- Gunakan load balancer yang sesuai.
- Kelola sertifikat TLS dengan aman.
- Dokumentasikan hostname dan route.
- Gunakan shared gateway jika banyak aplikasi memiliki kebutuhan serupa.
- Gunakan dedicated gateway jika membutuhkan isolasi khusus.
- Untuk production, pertimbangkan pengelolaan gateway secara terpisah dari control plane.
Troubleshooting Istio Ingress Gateway
1. Gateway Tidak Dapat Diakses
Periksa Pod dan Service Ingress Gateway.
kubectl get pods -n istio-system kubectl get svc -n istio-system
2. Hostname Tidak Berfungsi
Periksa apakah hostname pada Gateway sama dengan hostname pada VirtualService.
3. Mendapatkan HTTP 404
Periksa konfigurasi VirtualService dan nilai field gateways.
Istio menjelaskan bahwa apabila request masuk tidak cocok dengan gateway atau route yang ditentukan, request dapat ditolak, termasuk menghasilkan response 404 pada konfigurasi tertentu. :contentReference[oaicite:12]{index=12}
4. HTTPS Tidak Berfungsi
Periksa:
- Port 443.
- Protocol HTTPS.
- TLS mode.
- Credential name.
- Sertifikat.
- Hostname.
5. VirtualService Tidak Terhubung ke Gateway
Pastikan:
gateways: - application-gateway
sesuai dengan nama Gateway yang digunakan.
6. Gateway Selector Tidak Cocok
Periksa label Pod gateway.
kubectl get pods -n istio-system --show-labels
Selector pada Gateway harus sesuai dengan label gateway deployment. :contentReference[oaicite:13]{index=13}
7. External IP Tidak Muncul
Periksa Service gateway:
kubectl get svc -n istio-system istio-ingressgateway
Jika menggunakan environment lokal atau cluster yang tidak menyediakan LoadBalancer, gunakan metode akses seperti NodePort atau konfigurasi load balancer eksternal.
Perbedaan Istio Ingress Gateway dan Kubernetes Ingress
| Aspek | Istio Ingress Gateway | Kubernetes Ingress |
|---|---|---|
| Fokus | Traffic management pada Istio. | Expose service melalui Ingress API. |
| Routing | Dapat menggunakan VirtualService. | Menggunakan aturan Ingress. |
| TLS | Dukungan konfigurasi Istio. | Dukungan berdasarkan ingress controller. |
| Service Mesh | Terintegrasi langsung dengan Istio. | Tidak secara otomatis memiliki fitur mesh Istio. |
| Traffic Management | Lebih terintegrasi dengan fitur Istio. | Bergantung pada controller. |
Dokumentasi Istio menyebut bahwa menggunakan Gateway dibanding Kubernetes Ingress memungkinkan penggunaan fitur Istio yang lebih lengkap, termasuk traffic management dan security. :contentReference[oaicite:14]{index=14}
Istio Ingress Gateway dan Kubernetes Gateway API
Selain Istio API, Istio juga mendukung Kubernetes Gateway API.
Gateway API merupakan API standar Kubernetes yang dikembangkan untuk menyediakan model routing yang lebih vendor-neutral.
Kubernetes Gateway API
|
v
Istio
|
v
Envoy Gateway
|
v
Service
Istio saat ini menyatakan bahwa Gateway API didukung dan direncanakan menjadi API default untuk traffic management di masa mendatang. :contentReference[oaicite:15]{index=15}
Namun, Istio API Gateway + VirtualService tetap relevan dan banyak digunakan pada konfigurasi Istio yang sudah ada.
Contoh Alur Lengkap Istio Ingress Gateway
Internet
|
v
External LoadBalancer
|
v
Istio Ingress Gateway
|
v
Gateway
|
v
VirtualService
|
+------------+------------+
| | |
v v v
User API Order API Product API
| | |
v v v
Pods Pods Pods
Model tersebut menggambarkan bagaimana satu entry point dapat digunakan untuk menangani beberapa aplikasi atau API.
Contoh Arsitektur Production
Internet
|
v
Cloud Load Balancer
|
v
+-----------------------+
| Istio Ingress Gateway |
| Envoy Proxy |
+-----------+-----------+
|
+---------+---------+
| |
v v
API Gateway Web Service
| |
v v
Microservices Microservices
|
v
Egress Gateway
|
v
External APIs
Dalam arsitektur tersebut, Ingress Gateway menangani traffic yang masuk, sedangkan Egress Gateway menangani traffic yang keluar.
Dengan demikian, kedua gateway dapat membentuk boundary traffic dua arah pada service mesh.
FAQ Istio Ingress Gateway
1. Apa itu Istio Ingress Gateway?
Istio Ingress Gateway adalah gateway berbasis Envoy yang digunakan sebagai titik masuk traffic dari luar menuju service yang berada di dalam service mesh.
2. Apa fungsi utama Ingress Gateway?
Fungsi utamanya adalah menyediakan entry point yang terkontrol untuk external traffic menuju internal service.
3. Apa perbedaan Ingress Gateway dan Egress Gateway?
Ingress Gateway menangani traffic yang masuk ke mesh, sedangkan Egress Gateway menangani traffic yang keluar dari mesh.
4. Apa fungsi Gateway pada Istio?
Gateway menentukan port, protocol, hostname, dan konfigurasi koneksi yang diterima oleh gateway. Routing aplikasi biasanya didefinisikan menggunakan VirtualService. :contentReference[oaicite:16]{index=16}
5. Apa fungsi VirtualService?
VirtualService menentukan bagaimana request yang masuk melalui gateway diarahkan menuju destination.
6. Apakah Ingress Gateway bisa menggunakan HTTPS?
Ya. Istio mendukung secure ingress menggunakan TLS dan mutual TLS. :contentReference[oaicite:17]{index=17}
7. Apa itu TLS termination?
TLS termination adalah proses ketika koneksi TLS dari client dihentikan pada Ingress Gateway sebelum request diteruskan ke backend.
8. Apa itu TLS passthrough?
TLS passthrough adalah konfigurasi ketika gateway meneruskan koneksi TLS tanpa melakukan termination, sehingga backend tetap menangani TLS.
9. Apakah satu Ingress Gateway dapat menangani banyak service?
Ya. Satu gateway dapat digunakan oleh banyak aplikasi dengan routing berdasarkan hostname, URI, atau aturan lainnya.
10. Apakah Ingress Gateway wajib digunakan dalam Istio?
Tidak. Istio dapat digunakan tanpa mengekspos aplikasi melalui ingress gateway. Gateway digunakan ketika service perlu menerima traffic dari luar mesh.
11. Apakah Ingress Gateway sama dengan Kubernetes Ingress?
Tidak persis sama. Istio Gateway merupakan resource Istio yang terintegrasi dengan traffic management Istio, sedangkan Kubernetes Ingress merupakan API Kubernetes yang membutuhkan ingress controller. :contentReference[oaicite:18]{index=18}
12. Apakah Istio mendukung Kubernetes Gateway API?
Ya. Istio mendukung Kubernetes Gateway API dan saat ini menyatakan bahwa API tersebut diarahkan menjadi API default untuk traffic management di masa depan. :contentReference[oaicite:19]{index=19}
Baca Juga
- Istio Egress Gateway: Pengertian, Cara Kerja, Arsitektur, Komponen, Fungsi, Manfaat, Kelebihan, Kekurangan, dan Implementasinya
- Istio ServiceEntry: Pengertian, Cara Kerja, Arsitektur, Komponen, Fungsi, Manfaat, Kelebihan, Kekurangan, dan Implementasinya
- Service Mesh: Pengertian, Cara Kerja, Arsitektur, Komponen, Fungsi, Manfaat, Kelebihan, Kekurangan, dan Implementasinya
- Ambient Mesh: Pengertian, Cara Kerja, Arsitektur, Komponen, Fungsi, Manfaat, Kelebihan, Kekurangan, dan Implementasinya
- Waypoint Proxy: Pengertian, Cara Kerja, Arsitektur, Komponen, Fungsi, Manfaat, Kelebihan, Kekurangan, dan Implementasinya
- Istio Traffic Management: Pengertian, Cara Kerja, Arsitektur, Komponen, Fungsi, Manfaat, Kelebihan, Kekurangan, dan Implementasinya
- Distributed Tracing: Pengertian, Cara Kerja, Arsitektur, Komponen, Fungsi, Manfaat, Kelebihan, Kekurangan, dan Implementasinya
- Istio Telemetry: Pengertian, Cara Kerja, Arsitektur, Komponen, Fungsi, Manfaat, Kelebihan, Kekurangan, dan Implementasinya
- Istio Authorization Policy: Pengertian, Cara Kerja, Arsitektur, Komponen, Fungsi, Manfaat, Kelebihan, Kekurangan, dan Implementasinya
Artikel Selanjutnya
Setelah memahami Istio Ingress Gateway, pembahasan service mesh dapat dilanjutkan ke topik berikutnya sesuai roadmap artikel Dewa234.
Ingress Gateway menjadi bagian penting karena berfungsi sebagai pintu masuk external traffic, sedangkan Egress Gateway sebelumnya membahas jalur keluar menuju external network.
Internet
|
v
Ingress Gateway
|
v
Service Mesh
|
v
Internal Services
|
v
Egress Gateway
|
v
External APIs
Kesimpulan
Istio Ingress Gateway merupakan komponen penting dalam Istio Service Mesh yang berfungsi sebagai titik masuk traffic dari luar menuju service yang berada di dalam mesh.
Dengan Ingress Gateway, external client tidak harus berkomunikasi secara langsung dengan setiap microservice. Traffic dapat masuk melalui gateway terlebih dahulu, kemudian diteruskan menuju service yang sesuai berdasarkan konfigurasi routing.
Istio memisahkan konfigurasi gateway dengan routing aplikasi. Resource Gateway digunakan untuk menentukan port, protocol, hostname, dan konfigurasi TLS, sedangkan VirtualService digunakan untuk menentukan bagaimana traffic diarahkan menuju destination. :contentReference[oaicite:20]{index=20}
Ingress Gateway juga mendukung kebutuhan HTTPS, TLS termination, TLS passthrough, SNI routing, observability, authentication, authorization, serta berbagai kebutuhan traffic management lainnya.
Dalam lingkungan production, Ingress Gateway dapat digunakan sebagai shared gateway untuk beberapa aplikasi atau dedicated gateway untuk aplikasi tertentu. Pemilihan model tersebut harus disesuaikan dengan kebutuhan keamanan, performa, isolasi, dan operasional.
Istio juga mendukung Kubernetes Gateway API dan menyatakan bahwa Gateway API diarahkan menjadi API default untuk traffic management di masa mendatang. Namun, konfigurasi Istio Gateway dan VirtualService tetap menjadi bagian penting dari banyak deployment Istio yang sudah berjalan. :contentReference[oaicite:21]{index=21}
Dengan memahami Ingress Gateway, kita sekarang memiliki gambaran lengkap mengenai dua arah utama traffic pada Service Mesh, yaitu ingress untuk traffic yang masuk dan egress untuk traffic yang keluar.
Konsep tersebut menjadi fondasi penting untuk memahami bagaimana Istio mengelola komunikasi antara external client, gateway, microservices, dan external services dalam arsitektur aplikasi modern.