Creating Ingresses
2 min read
Kubernetes Cluster : Creating Ingresses #
Ingress adalah load balancer internal Kubernetes Cluster yang digunakan untuk mengatur akses dari luar ke layanan-layanan di dalam cluster. Ingress juga mendukung fitur seperti SSL termination (mengelola HTTPS), name-based virtual hosting (mengatur domain atau subdomain ke layanan tertentu).
Ingress dikontrol melalui sekumpulan aturan (spec) yang dicocokkan dengan semua permintaan yang masuk dari luar (incoming requests). Dengan aturan ini, kamu bisa mengarahkan traffic ke berbagai service di dalam cluster berdasarkan path atau nama host.
💡 TIP
Dibandingkan dengan layanan yang diekspos melalui NodePort, ingress adalah opsi yang lebih kuat namun juga lebih rumit. Ingress paling berguna ketika Kamu perlu mengekspos beberapa layanan di bawah satu alamat IP yang sama. Selain itu, ingress dikelola oleh sebuah controller, yang menyediakan berbagai fitur langsung seperti SSL, autentikasi, routing, dan sebagainya.
Ingress dalam Kubernetes Cluster secara default dikelola oleh Traefik ingress controller, tapi Kamu juga bisa menggunakan HAProxy dan NGINX yang akan tersedia pada versi paket 1.15.5 yang akan datang. Ingress controller ini memantau objek, membaca spesifikasi/anotasi, dan menerjemahkannya menjadi aturan pengalihan (redirect rules).
📝 NOTE
Tidak memungkinkan untuk mengubah ingress controller yang sudah dipilih melalui Kubernetes management add-on atau automation tool lainnya setelah instalasi dilakukan.
Spesifikasi Ingress adalah gabungan dari aturan path, layanan backend, dan port. Misalnya, Ingress milikmu bisa terlihat seperti berikut:
apiVersion: extensions/v1beta1 kind: Ingress metadata: labels: app: myapp name: myapp annotations: kubernetes.io/ingress.class: traefik ingress.kubernetes.io/secure-backends: "true" traefik.frontend.rule.type: PathPrefixStrip spec: rules: - http: paths: - path: /myapp backend: serviceName: myapp servicePort: 8080
Contoh ini mengekspos layanan myapp, yang terhubung ke port 8080 pada path domain default environment Kubernetes Kamu, dengan akhiran /myapp (misalnya: https://${envName}.${platformDomain.com}/myapp). Untuk informasi tambahan tentang konfigurasi aturan Ingress (termasuk routing berbasis path dan subdomain), silakan merujuk ke dokumentasi resmi Kubernetes.
Powered by BetterDocs
