Kubernetes-də işləyən tətbiqə istifadəçilərin girişini necə təmin etmək olar?
sobes.tech Süni İntellekt
AI-dan cavab
Əsasən bir neçə əsas üsul mövcuddur:
-
Kubernetes Xidməti Növü: LoadBalancer. Bulud təminatçısı xarici yük balanslaşdırıcısı yaradır və bu, trafiki tətbiqinizin podlarına yönəldir.
apiVersion: v1 kind: Service metadata: name: my-app-service spec: selector: app: my-app ports: - protocol: TCP port: 80 targetPort: 8080 type: LoadBalancer # Burada LoadBalancer növü göstərilir -
Kubernetes Xidməti Növü: NodePort. Hər bir klaster düyünü statik port açır və bu, trafiki xidmətə yönəldir. Tətbiqə giriş hər hansı bir düyünün IP ünvanı və bu statik port vasitəsilə həyata keçirilir.
apiVersion: v1 kind: Service metadata: name: my-app-service spec: selector: app: my-app ports: - protocol: TCP port: 80 targetPort: 8080 type: NodePort # Burada NodePort növü göstərilirBu metod daha az miqyaslıdır və çox vaxt istehsal üçün tövsiyə edilmir.
-
Ingress. Kubernetes obyekti, klasterdəki xidmətlərə xarici girişləri idarə edir. Ingress nəzarətçisi (məsələn, Nginx Ingress, Traefik, HAProxy) tələb edir. Ingress domen adları və yollar əsasında marşrutlaşdırmanı konfiqurasiya etməyə imkan verir.
apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: my-app-ingress spec: rules: - host: myapp.mydomain.com # Domen adı http: paths: - path: / # Yol pathType: Prefix backend: service: name: my-app-service # Xidmət adı port: number: 80 # Xidmət portu -
Gateway API (daha müasir yanaşma). Ingress-in təkamülü, daha ifadəli və genişlənə bilən API təmin edir. GatewayClass, Gateway, HTTPRoute (və digər marşrut növləri) resurslarını əhatə edir.
apiVersion: gateway.networking.k8s.io/v1 kind: HTTPRoute metadata: name: my-app-route spec: parentRefs: - name: my-gateway # Gateway resursuna istinad hostnames: - "myapp.mydomain.com" rules: - matches: - path: type: Prefix value: / backendRefs: - name: my-app-service # Xidmət adı port: 80 # Xidmət portu
Yöntə seçimi, tələblərdən asılıdır:
- Miqyaslandırma
- Marşrutlaşdırma mürəkkəbliyi
- Təhlükəsizlik (SSL/TLS terminləşdirmə)
- İstifadə olunan bulud platforması
- Mərkəzləşdirilmiş giriş idarəetmə ehtiyacı
Əksər istehsal ssenariləri üçün LoadBalancer giriş nöqtəsini təmin etmək üçün istifadə olunur (tez-tez Ingress nəzarətçisi üçün) və ya birbaşa, və Ingress (və ya Gateway API) çevik marşrutlaşdırma və giriş idarəetməsi üçün istifadə olunur.