Sobes.tech
Middle

Kako pristupiti spoljašnjoj IP adresi servisa zasnovanog na load balancer usluzi u Ingress kontroleru?

sobes.tech АИ

Одговор од АИ

U kontroleru Ingress, ne pristupa se direktno do spoljnjeg IP-a servisa tipa LoadBalancer. Kontroler Ingress služi kao ulazna tačka i usmerava saobraćaj na različite servise na osnovu pravila definisanih u Ingress resursu.

Da biste pristupili LoadBalancer tipu servisa putem Ingress-a, potrebno je:

  1. Kreirati servis tipa LoadBalancer za vašu aplikaciju. Dobavljač Kubernetes u oblaku dodeliće ovom servisu spoljašnju IP adresu.

    // 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. Kreirati Ingress resurs koji će usmeravati saobraćaj ka ovom servisu.

    // ingress.yaml
    apiVersion: networking.k8s.io/v1
    kind: Ingress
    metadata:
      name: my-app-ingress
    spec:
      rules:
      - host: myapp.example.com # Ili drugi domen/pot, gde će aplikacija biti dostupna
        http:
          paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: my-app-service # Ime vašeg LoadBalancer servisa
                port:
                  number: 80 # Port servisa na koji će se preusmeravati zahtevi
    
  3. Uveriti se da je Ingress kontroler instaliran i radi u klasteru. Ingress kontroler (npr. Nginx Ingress Controller, Traefik) će slušati na dodeljenom spoljnjem IP-u i preusmeravati zahteve na myapp.example.com ka servisu my-app-service.

Na ovaj način, pristup aplikaciji je obezbeđen putem spoljnjeg IP-a Ingress kontrolera, a ne direktno putem spoljnjeg IP-a LoadBalancer servisa (iako Ingress može koristiti taj LoadBalancer za pristup podovima).