Kubernetes: Services

Setelah kita mendeploy pod pada Kubernetes cluster, kita tidak bisa langsung mengakses pod tersebut. Untuk dapat mengakses pod tersebut kita harus membuat service.

Ada beberapa service yang dapat dibuat pada Kubernetes cluster:

  1. ClusterIP
  2. NodePort
  3. LoadBalancer
  4. ExternalName

ClusterIP

Service type ClusterIP digunakan untuk mengakses pod dari node yang ada di dalam cluster. Pod tidak dapat di akses dari luar cluster.

Headless

Headless service merupakan varian dari service type ClusterIP. Pada headless service kita tidak memberikan IP pada service type ClusterIP. Untuk mengaksess service pada pod, kita masih harus mengunjungi IP masing-masing pod. Namun, dengan adanya headless service, kita dapat mengakses pod lainnya via internal DNS dengan meng-query nama headless service tersebut.

NodePort

Service type NodePort digunakan untuk mengakses pod dari luar cluster. Port pada pod akan di mapping ke port pada node. Port yang dimaping pada node memiliki range 30000 hingga 32767. Angka port akan dipilih oleh Kubernetes secara acak jika tidak ditentukan.

LoadBalancer

Service type LoadBalancer digunakan untuk mengakses pod dari luar cluster. Port pada pod akan di mapping dengan NodePort, lalu port pada NodePort akan di maping ke LoadBalancer.

Untuk cloud provider ternama seperti Google dan Amazon, service type LoadBalancer akan memangil load balancer eksternal dan mengintegrasikannya ke service type ini.

ExternalName

Service type ExternalName digunakan untuk memapping external service ke internal DNS name.

External IP

Kita dapat dengan explisit mengexpose service type ClusterIP keluar dengan cara memberikan External IP.


Comments

Leave a Reply

Your email address will not be published. Required fields are marked *