Service, podlar ve nodelar arasındaki iletişimi sağlar. Kubernetes içerisindeki trafiği yönetmek için servislere ihtiyaç vardır.
Bir yaml dosyası hazılayarak service oluşturulabilir.
Servisin hangi podlar arasındaki iletişimi sağlayacağı label-selector sayesinde belirtilir. pod.yaml’ında label, service.yaml’ında selector tanımlaması yaparak belirtilir.
Service’ler 3 farklı tipte olabilir
1-ClusterIp
2-Load Balancer
3-NodePort
ClusterIp: Service’lerin kendi aralarındaki iletişimi sağlar.
NodePort: Bir Node’un dışarı ile iletişim kurabileceği port’u sağlayan Servis türüdür. Bu port 30000–32767 aralığında olmalıdır.
Load Balancer: Service’e bir Public IP atanması sağlanarak, Service’in dış networkten gelen istekleri karşılayarak ilgili Node’lar dağıtma hizmetini sağlar. Internal Load Balancer ve External Load Balancer olarak ikiye ayrılır.
External Load Balancer: Public ip ile her yerden cluster’a erişim sağlanabilmesini sağlar
İnternal Load Balancer:Cluster içerisindeki client’ların yani aynı network içerisindeki clientların erişebilmesi için kullanılır.
- Service’lerin kendilerine ait bir ip’leri vardır.