Ako pristúpiť k externej IP adrese služby založenej na load balancer (load balancer service) v Ingress kontroléri?
sobes.tech AI
Odpoveď od AI
V kontroléri Ingress sa priamym prístupom na externé IP služby typu LoadBalancer sa ne zaobchádza. Kontrolér Ingress slúži ako vstupný bod a smeruje prevádzku na základe pravidiel definovaných v zdroji Ingress na rôzne služby.
Na prístup k službe typu LoadBalancer cez Ingress je potrebné:
-
Vytvoriť službu typu
LoadBalancerpre vašu aplikáciu. Poskytovateľ Kubernetes v cloude priradí tejto službe externú 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 -
Vytvoriť zdroj
Ingress, ktorý bude smerovať prevádzku na túto službu.// ingress.yaml apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: my-app-ingress spec: rules: - host: myapp.example.com # Alebo iná doména/cesta, kde bude aplikácia dostupná http: paths: - path: / pathType: Prefix backend: service: name: my-app-service # Názov vašej služby LoadBalancer port: number: 80 # Port služby, na ktorý bude smerovaný prevádzka -
Uistiť sa, že kontrolér Ingress je nainštalovaný a funguje v klastre. Kontrolér Ingress (napríklad Nginx Ingress Controller, Traefik) bude počúvať na pridelenom externom IP a bude presmerovávať požiadavky na
myapp.example.comna službumy-app-service.
Takto je prístup k aplikácii zabezpečený cez externé IP Ingress kontroléra, nie priamo cez externé IP služby typu LoadBalancer (hoci Ingress môže použiť tento LoadBalancer na prístup k podom).