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.