Scroll Top

Cara Setup OpenShift Route, Service, dan Ingress: Panduan Lengkap untuk Mengelola Traffic Aplikasi

OpenShift adalah platform Kubernetes enterprise yang menyediakan fitur tambahan seperti Route, Service, dan Ingress untuk mengelola traffic ke aplikasi kamu. Di artikel ini, kita akan bahas cara setup Route, Service, dan Ingress di OpenShift, serta perbedaan dan penggunaan masing-masing fitur ini. Yuk, simak!

Apa Itu Route, Service, dan Ingress?

Sebelum mulai, mari kita pahami dulu apa itu Route, Service, dan Ingress:

  • Service: Sebuah abstraksi yang menyediakan akses ke sekelompok Pod di Kubernetes. Service bisa berupa ClusterIP, NodePort, atau LoadBalancer.
  • Route: Fitur khusus OpenShift yang memungkinkan kamu mengekspos Service ke luar cluster menggunakan HTTP/HTTPS.
  • Ingress: Sebuah resource Kubernetes yang mengatur traffic HTTP/HTTPS ke Service di dalam cluster. Ingress membutuhkan Ingress Controller untuk bekerja.

Persiapan

Sebelum mulai, pastikan kamu punya:

  • Cluster OpenShift yang sudah berjalan.
  • Akses ke CLI OpenShift (oc).
  • Aplikasi yang sudah di-deploy di OpenShift (misalnya, aplikasi Nginx).

1. Setup Service di OpenShift

1.1. Buat Service

Service digunakan untuk mengekspos Pod ke dalam cluster. Buat file YAML untuk Service:

apiVersion: v1
kind: Service
metadata:
  name: nginx-service
spec:
  selector:
    app: nginx
  ports:
    - protocol: TCP
      port: 80
      targetPort: 80

Terapkan Service menggunakan perintah:

oc apply -f nginx-service.yaml

1.2. Verifikasi Service

Cek status Service yang sudah dibuat:

oc get svc nginx-service

2. Setup Route di OpenShift

2.1. Buat Route

Route digunakan untuk mengekspos Service ke luar cluster. Buat Route menggunakan CLI:

oc expose svc nginx-service --hostname=nginx.example.com

Atau buat file YAML untuk Route:

apiVersion: route.openshift.io/v1
kind: Route
metadata:
  name: nginx-route
spec:
  host: nginx.example.com
  to:
    kind: Service
    name: nginx-service
  port:
    targetPort: 80

Terapkan Route menggunakan perintah:

oc apply -f nginx-route.yaml

2.2. Verifikasi Route

Cek status Route yang sudah dibuat:

oc get route nginx-route

Buka browser dan akses http://nginx.example.com untuk menguji Route.

3. Setup Ingress di OpenShift

3.1. Buat Ingress

Ingress digunakan untuk mengatur traffic HTTP/HTTPS ke Service. Buat file YAML untuk Ingress:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: nginx-ingress
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /
spec:
  rules:
    - host: nginx.example.com
      http:
        paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: nginx-service
                port:
                  number: 80

Terapkan Ingress menggunakan perintah:

oc apply -f nginx-ingress.yaml

3.2. Verifikasi Ingress

Cek status Ingress yang sudah dibuat:

oc get ingress nginx-ingress

Pastikan Ingress Controller sudah terinstall dan berjalan di cluster OpenShift.

4. Perbedaan Route dan Ingress

  • Route: Fitur khusus OpenShift yang lebih mudah digunakan untuk mengekspos aplikasi ke luar cluster.
  • Ingress: Resource standar Kubernetes yang membutuhkan Ingress Controller untuk bekerja.

5. Tips & Trik

  • SSL/TLS: Gunakan Route atau Ingress dengan sertifikat SSL untuk mengamankan traffic.
  • Load Balancing: Manfaatkan fitur load balancing yang disediakan oleh Service dan Route.
  • Custom Domain: Gunakan custom domain dengan mengatur DNS dan hostname di Route atau Ingress.

6. Kesimpulan

Dengan OpenShift, kamu punya banyak opsi untuk mengelola traffic ke aplikasi kamu, mulai dari Service, Route, hingga Ingress. Pilih yang paling sesuai dengan kebutuhan kamu, dan pastikan untuk mengoptimalkan konfigurasi agar aplikasi kamu selalu lancar diakses. Selamat mencoba, dan semoga artikel ini membantu! 🚀