Sobes.tech
Junior

Headless xidmət ilə digər xidmət növləri arasındakı fərq nədir?

sobes.tech Süni İntellekt

AI-dan cavab

Başsız xidmət klaster IP ünvanına malik deyil və yük balanslaşdırma həyata keçirmir. Əvəzində, DNS birbaşa olaraq xidmət seçicisinə uyğun olan bütün podların IP ünvanlarını qaytarır. Bu, müştəriyə özünün hansı poda qoşulacağını seçmək və ya öz balanslaşdırma alqoritmindən istifadə etmək imkanı verir.

Tipik istifadə variantları:

  • StatefulSets: Unikal şəbəkə identifikasiyası və sabit məlumat saxlama tələb edən tətbiqlər üçün.
  • Discovery: Müştərilər birbaşa podları kəşf edə və əlaqələri idarə edə bilər.
  • Özəl yük balanslaşdırma: Tətbiqlər öz balanslaşdırma alqoritmlərini həyata keçirə bilər.

ClusterIP və NodePort xidmətləri ilə müqayisə:

Xidmət növü Cluster IP Yük balanslaşdırma DNS
ClusterIP Bəli Kubernetes Xidmətin IP-sini qaytarır
NodePort Bəli Kubernetes Xidmətin IP-sini qaytarır
Başsız Xeyr Xeyr (müştəri) Podların IP ünvanlarını qaytarır

YAML-də başsız xidmətin tərifi:

apiVersion: v1
kind: Service
metadata:
  name: mənim-başsız-xidmətim
spec:
  selector:
    app: mənim-application # Podlar üçün seçici
  clusterIP: None # Əsas fərq - klaster IP yoxdur
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8080

mənim-başsız-xidmətimə tək IP ilə daxil olmaq yerinə, müştəri podların IP ünvanlarının siyahısını alır:

$ kubectl get pods -l app=mənim-application -o custom-columns=NAME:.metadata.name,IP:.status.podIP
NAME            IP
mənim-application-abcde    10.42.0.10
mənim-application-fghij    10.42.0.11
mənim-application-klmno    10.42.0.12

Daha sonra, müştəri bu IP-lərdən istənilən birini seçərək əlaqə qura bilər.