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:
-
Kreirati servis tipa
LoadBalancerza 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 -
Kreirati
Ingressresurs 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 -
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.comka servisumy-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).