Memahami Jenis-Jenis Service Kubernetes
By twahyono
Apa itu Service?
Kubernetes Service, di dalam artikel ini selanjutnya disebut service, digunakan untuk mengarahkan traffic ke aplikasi yang berada di kluster. Seperti diketahui di dalam kluster, pod secara dinamis dikelola oleh Kubernetes control plane, pod bisa muncul dan hilang karena proses penjadwalan dan autoscaling dan menyebabkan alamat IP pod berubah-ubah (ephemeral). Untuk memberikan akses yang konsisten terhadap aplikasi di sekumpulan pod tsb maka diperlukan bentuk service ini. Kubernetes menyediakan 3 jenis service yang bisa digunakan:
1. ClusterIP
ClusterIP akan memberikan satu alamat IP untuk aplikasi yang bisa diakses di lingkungan internal kluster.
2. NodePort
NodePort menyediakan akses pada port statis yang sama di semua node yang selanjutnya traffic akan diarahkan ke aplikasi yang dituju. Saat anda membuat NodePort maka service ClusterIP akan otomatis dibuat juga. NodePort akan mengarahkan traffic menuju ke ClusterIP.
3. LoadBalancer
Load balancer memberikan akses dari luar ke dalam aplikasi yang berjalan di dalam kluster dengan mekanisme load balancing. Saat anda membuat service LoadBalancer maka service NodePort dan ClusterIP akan secara otomatis dibuat juga. Mekanisme internal yang terjadi, LoadBalancer akan mengarahkan traffic menuju ke NodePort dan selanjutnya ke ClusterIP. Untuk menggunakan service ini anda harus memiliki kluster Kubernetes yang berjalan cloud provider di AWS, GKE atau AKS. Jika anda menjalankan di lokal anda harus men-setup sendiri load balancer tsb.