Jak získat přístup k externí IP adrese služby založené na load balanceru (load balancer service) v Ingress kontroléru?
sobes.tech AI
Odpověď od AI
V řadiči Ingress se přímo na externí IP služby typu LoadBalancer ne odkazuje. Řadič Ingress funguje jako vstupní bod a směruje provoz na základě pravidel definovaných v zdroji Ingress na různé služby.
Pro přístup ke službě typu LoadBalancer přes Ingress je třeba:
-
Vytvořit službu typu
LoadBalancerpro vaši aplikaci. Poskytovatel Kubernetes v cloudu této službě přiřadí 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 -
Vytvořit zdroj
Ingress, který bude směrovat provoz na tuto službu.// ingress.yaml apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: my-app-ingress spec: rules: - host: myapp.example.com # Nebo jiná doména/cesta, kde bude aplikace dostupná http: paths: - path: / pathType: Prefix backend: service: name: my-app-service # Název vaší služby LoadBalancer port: number: 80 # Port služby, na který bude směrován provoz -
Ujistěte se, že je nainstalován a funguje řadič Ingress v clusteru. Řadič Ingress (například Nginx Ingress Controller, Traefik) bude poslouchat na přidělené externí IP a přesměrovávat požadavky na
myapp.example.comna službumy-app-service.
Tímto způsobem je přístup k aplikaci zajištěn přes externí IP řadiče Ingress, nikoli přímo přes externí IP služby typu LoadBalancer (ačkoliv Ingress může tuto LoadBalancer využít pro přístup k podům).