J'essaie de comprendre comment les kubernetes (k8s) utilisent les ports. Ayant lu la documentation de l'API ainsi que les documents disponibles, je ne suis pas sûr du fonctionnement du mappage de port et du flux de port. Disons que j'ai trois conteneurs avec une base de données hébergée en externe, mon cluster k8s est trois nœuds CoreOS à la base, et il y a un équilibreur de charge défini par logiciel devant les trois nœuds pour transférer le trafic vers les trois nœuds Les ports 3306 et 10082.Mappage des ports dans Kubernetes
- Le conteneur A utilise le port entrant 8080, doit communiquer avec les conteneurs B et C, mais n'a pas besoin d'un accès externe. Il est défini avec le contrôleur de réplication A qui possède 1 réplique. Le conteneur B utilise le port entrant 8081 pour communiquer avec le conteneur A et C, mais doit accéder à la base de données externe sur le port 3306. Il est défini avec le contrôleur de réplication B qui a deux réplicas. Le conteneur C utilise le port entrant 8082, doit communiquer avec le conteneur A et B, mais nécessite également un accès externe sur le port 10082 pour les utilisateurs finaux. Il est défini avec le contrôleur de réplication C qui a 3 réplicas.
J'ai trois services pour résumer les contrôleurs de réplication.
- service Un contrôleur de réplication A sélectionne et doit transférer le trafic entrant sur le port 9080 au port 8080.
- service B sélectionne contrôleur de réplication B et doit transférer le trafic entrant sur les ports 9081 et 3306 aux ports 8081 et 3306 .
- service C réplication C Controller sélectionne et doit transférer le trafic entrant sur le port 9082 au port 8082.
J'ai un point final pour la base de données externe, configuré pour sur le port 3306 avec une adresse IPv4.
Objectifs:
- Les services doivent ports abstraits du contrôleur de réplication.
- Le service B doit pouvoir être atteint à partir d'un système externe sur le port 3306 sur tous les nœuds.
- Le service C doit pouvoir être atteint à partir d'un système externe sur le port 10082 sur tous les nœuds.
- Quand dois-je utiliser chacun des types de ports;: Avec cette
c'est-à-dire port
, targetPort
, nodePort
, etc.