Introduction
Hallo , kali ini saya kembali dengan sebuah artikel yang masih bersangkutan dengan Kubernetes, artikel ini saya buat dari study case yang pernah saya alami yang dimana How to configure nginx-ingress to route traffic to outside the cluster? atau gimana jika kita punya aplikasi di luar cluster kubernetes ingin kita lewatkan network atau lewat Load Balancer kubernetes menggunakan nginx-ingress.
Baca juga :
Dibawah ini adalah flow untuk routinganya:

Berikut langkah – langkah, How to configure nginx-ingress to route traffic to outside the cluster?
Step 1 – Create manifests endpoint
Endpoint digunakan untuk me routing ip tujuan yang diluar cluster, dan hal ini harus digaris bawahi adalah hal ini bisa kita lakukan jika 1 VPC atau sudah bisa ping dari cluster ke IP app tujuan.
kind: Endpoints
apiVersion: v1
metadata:
name: app-outside-service
namespace: namespace
subsets:
- addresses:
- ip: 192.168.0.2
ports:
- port: 80
Dan endpoint beserta port akan muncul k get endpoints -n namespace
Step 2 – Create manifests Service
Selanjutnya, adalah network untuk servicenya, supaya bisa kita translasasikan ke domain nantinya, dan manifests service ini kita ambil dari port & target port dari endpoints, dan juga type nya adalah Cluster IP .
kind: Service apiVersion: v1 metadata: name: app-outside-service namespace: namespace spec: type: ClusterIP ports: - port: 80 targetPort: 80
Kemudian check servicenya kubectl get servicce -n namespace
Step 3 – Create manifests netowrk nginx-ingress
Dan yang terakhir karena tujuan kita ingin mengakses app tadi, tapi lewat LB nya cluster kubernetes makan kita butuh ingress ini, jika sudah ditambahkan, tinggal di akses urlnya tech.igunawan.com/app-outside-service.
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
nginx.ingress.kubernetes.io/enable-cors: "true"
kubernetes.io/ingress.class: "nginx"
nginx.ingress.kubernetes.io/force-ssl-redirect: 'true'
nginx.ingress.kubernetes.io/ssl-redirect: 'true'
name: app-outside-service
namespace: namespace
spec:
tls:
- hosts:
- tech.igunawan.com
secretName: secret
rules:
- host: tech.igunawan.com
http:
paths:
- path: /app-outside-service
pathType: Prefix
backend:
service:
name: app-outside-service
port:
number: 80
Terima kasih , selamat mencoba.

Admin website igunawan.com, System Administrator, DevOps Engineer
