Kubernetes’de Pos üzerinde trafik yönetiminin amaçladıkları:
- Pod’ları tüm cluster içerisinden erişilebilir hale getirmek (expose)
- Service üzerinden Pod’ları erişilebilir hale getirmek
Kubernetes’te out of the box olarak gelen ve adı Kube-DNS olan bir DNS özelliği bulunur. Yaptığı iş Service’lere otomatik dns atanmasıdır.
Nodeport
Dış dünyadan gelen istekleri kabul etmek için oluşturabileceğimiz nesne tipidir. Tüm Node’lar, default olarak üzerlerindeki bir portu erişime açarlar (30000 – 32767). Bu sayede dış dünyadan erişilebilir hale gelirler. Erişim talebi yapılan port hangi Service’e ait ise yönlendirme ilgili servise yapılır.
ClusterIP
Kubernetes’te bir Service’e cluster genelinde geçerli bir ip vermek için kullanılır. Default olarak dış dünyadan erişime kapalıdır; ama proxy (Kube Proxy) vasıtasıyla erişim sağlanabilir.
LoadBalancer
Service’i dış dünyaya açmak (expose) için kullanılan yöntemdir. Service’lerin yük dengelemesi NodePort üzerinden Service’e yönlendirilmeleri ile sağlanır. Yaratılan LoadBalancer tipindeki Service’lerin de bir ip’si vardır.
Ingress
Diğer trafik yöntemlerinden farklı olarak Ingress’e Service diyemeyiz, bir API objesidir. Bir Reverse Proxy, Service’ler arasında yük dengelemesi yapan router gibi davranır. Çalışabilmesi için cluster içerisinde bir Ingress Controller bulunması gerekir.