6
votes

Clarifier l'équilibreur de charge Ingress

Je ne sais pas comment l'équilibrage de charge fonctionne avec Ingress.
Si je comprends bien, ce qui se passe est en fait quelque chose comme ceci:

 entrez la description de l'image ici

Je ne vois pas comment l'équilibrage de charge est effectué.
Qu'est-ce qui ne va pas dans le schéma ci-dessus que j'ai dessiné?
Pouvez-vous m'aider à le rectifier?

Remarques:
- La réponse suivante m'indique que le contrôleur Ingress lui-même est de type 'loadbalancer': Type de service Ingress < br> - J'utilise le genre ClusterIP car je ne veux pas exposer l'équilibreur de charge au monde extérieur. L'article suivant ne prend pas en charge cette revendication, où l'équilibreur de charge serait fourni par le service:

https://medium.com/google-cloud/kubernetes-nodeport-vs-loadbalancer-vs-ingress-when-should-i-use-what-922f010849e0

 entrez la description de l'image ici


1 commentaires

Est-il clair que le contrôleur d'entrée est lui-même un pod / s? heureux de discuter à ce sujet - chat.stackoverflow.com/rooms/186559/… < / a>


3 Réponses :



4
votes

Il semble que le premier schéma que vous avez dessiné soit correct. Mais je pense que vous êtes confus dans la terminologie. En particulier dans la différence entre ingress et ingress-controller .

Ingress est un type de ressources dans k8s (comme Service , Deployment , ReplicaSet etc.). Nous utilisons l'entrée si nous voulons exposer certains services à un monde externe avec une liaison vers un chemin et un hôte (c'est-à-dire myapp.com/api -> my-api-service).

Le travail du contrôleur d'entrée est de gérer la création / mise à jour / suppression des ressources d'entrée et d'implémenter toutes les fonctionnalités nécessaires à l'entrée. Sous le capot, le contrôleur d'entrée est un simple déploiement exposé en tant que service LoadBalancer ou NodePort selon l'endroit où k8s est déployé. Et le contrôleur d'image transmet la demande reçue à l'un des pods de service qui correspond à l'hôte et au chemin dans certaines des ressources d'entrée déployées.


0 commentaires

1
votes

Je suis devenu curieux et j'ai pensé: pourquoi aurais-je besoin d'une entrée pour l'équilibrage de charge sur la couche 7 si la seule chose qu'elle fait est de transférer le trafic vers un service qui implémente l'équilibrage de charge sur la couche 4?

La plupart des implémentations de contrôleur Ingress que j'ai recherchées, parlez au serveur d'API Kubernetes pour garder une trace de tous les pods associés à un service. Au lieu de transférer le trafic vers le service, ils sautent l'intermédiaire et le transmettent directement aux pods. Puisqu'un contrôleur d'entrée fonctionne sur la couche 7, il permet un équilibrage de charge plus orienté application.


0 commentaires