Sobes.tech
Middle

Ingress denetleyicisinde yük dengeleme hizmetine (load balancer service) dayalı servisin dış IP adresine nasıl erişilir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Ingress denetleyicisinde, LoadBalancer türündeki bir servisin dış IP'sine doğrudan erişilmez. Ingress denetleyicisi giriş noktası olarak görev yapar ve Ingress kaynağında tanımlanan kurallara göre trafiği farklı servislere yönlendirir.

Ingress aracılığıyla LoadBalancer türündeki bir servise erişmek için:

  1. Uygulamanız için bir LoadBalancer türünde servis oluşturun. Kubernetes bulut sağlayıcısı bu servise dış IP atayacaktır.

    // service.yaml
    apiVersion: v1
    kind: Service
    metadata:
      name: my-app-service
    spec:
      selector:
        app: my-app
      ports:
        - protocol: TCP
          port: 80
          targetPort: 80
      type: LoadBalancer
    
  2. Bu servise trafik yönlendirecek bir Ingress kaynağı oluşturun.

    // ingress.yaml
    apiVersion: networking.k8s.io/v1
    kind: Ingress
    metadata:
      name: my-app-ingress
    spec:
      rules:
      - host: myapp.example.com # Veya başka bir alan adı/yol, uygulamanın erişilebilir olacağı yer
        http:
          paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: my-app-service # LoadBalancer servisin adı
                port:
                  number: 80 # Trafiğin yönlendirileceği servis portu
    
  3. Ingress denetleyicisinin kurulu ve cluster'da çalışır durumda olduğundan emin olun. Nginx Ingress Controller, Traefik gibi Ingress denetleyicisi, kendisine tahsis edilen dış IP'yi dinleyecek ve myapp.example.com isteklerini my-app-service servisine yönlendirecektir.

Bu şekilde, uygulamaya erişim, LoadBalancer türündeki servisin dış IP'si yerine, Ingress denetleyicisinin dış IP'si üzerinden sağlanır (Ingress, bu LoadBalancer'ı podlara erişim için kullanabilir).