Sobes.tech
Junior

Headless servis ile diğer servis türleri arasındaki fark nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Kubernetes'te Headless servis, ClusterIP'nin olmaması ve dolayısıyla servisin kendisinin sağladığı yük dengelemenin olmamasıyla ayrılır. Bunun yerine, DNS, servisin seçicisine karşılık gelen podların IP adresleri kümesini döndürür ve bu da müşterinin doğrudan uç noktayı seçmesine olanak tanır.

Normal servis (ClusterIP, NodePort, LoadBalancer):

apiVersion: v1
kind: Service
metadata:
  name: my-service
spec:
  selector:
    app: my-app
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8080
  type: ClusterIP # veya NodePort, LoadBalancer
  • Kendi ClusterIP'sine sahiptir.
  • Trafiği podlar arasında dengeler.
  • DNS, servisin ClusterIP'sini döndürür.

Headless servis:

apiVersion: v1
kind: Service
metadata:
  name: my-headless-service
spec:
  selector:
    app: my-app
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8080
  clusterIP: None # Anahtar fark
  • ClusterIP'si yoktur.
  • Yük dengeleme yapmaz.
  • DNS, seçiciyle eşleşen podların IP adresleri listesini döndürür.

Karşılaştırma:

Özellik Normal servis Headless servis
ClusterIP Var Yok
Yük dengeleme Dahili Yok
DNS çözümleme Servisin ClusterIP'si Pod IP'leri
Kullanım Standart Servis keşfi, veritabanları, uygulama durumu

Headless servisler aşağıdaki senaryolarda sıkça kullanılır:

  • Servis keşfi: Müşteriler, mevcut tüm podların listesini alabilir ve kendi iç mantıklarına göre uygun olanı seçebilir.
  • Veritabanları: Müşterilerin, doğrudan belirli veritabanı replikalarına bağlanmasını sağlar.
  • Durumlu uygulamalar: Müşterilerin, durumu koruyan belirli uygulama örneklerine yönlendirmesine olanak tanır.