Hogyan lehet elérni a load balancer szolgáltatáson alapuló szolgáltatás külső IP-címét az Ingress vezérlőben?
sobes.tech MI
Válasz az MI-től
Ingress vezérlőben nem közvetlenül a LoadBalancer típusú szolgáltatás külső IP-címére hivatkoznak. Az Ingress vezérlő bemeneti pontként működik, és az Ingress erőforrásban meghatározott szabályok alapján irányítja a forgalmat különböző szolgáltatásokhoz.
Az Ingressen keresztül a LoadBalancer típusú szolgáltatáshoz való hozzáféréshez:
-
Hozzon létre egy
LoadBalancertípusú szolgáltatást az alkalmazásához. A Kubernetes felhőszolgáltatója ehhez a szolgáltatáshoz külső IP-címet rendel.// 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 -
Hozzon létre egy
Ingresserőforrást, amely a forgalmat erre a szolgáltatásra irányítja.// ingress.yaml apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: my-app-ingress spec: rules: - host: myapp.example.com # Vagy más domain/útvonal, ahol az alkalmazás elérhető lesz http: paths: - path: / pathType: Prefix backend: service: name: my-app-service # A LoadBalancer szolgáltatás neve port: number: 80 # A szolgáltatás portja, amelyre a forgalom irányul -
Győződjön meg arról, hogy az Ingress vezérlő telepítve van és működik a klaszterben. Az Ingress vezérlő (pl. Nginx Ingress Controller, Traefik) a neki kijelölt külső IP-n hallgat, és átirányítja a kéréseket a
myapp.example.com-ra amy-app-serviceszolgáltatásra.
Így az alkalmazáshoz való hozzáférés az Ingress vezérlő külső IP-jén keresztül történik, nem közvetlenül a LoadBalancer típusú szolgáltatás külső IP-jén (bár az Ingress használhatja ezt a LoadBalancert a podok eléréséhez).