Je me familiarise de plus en plus avec Kubernetes, mais je n'en suis encore qu'au niveau de base. Je ne suis pas non plus un spécialiste des réseaux.
Je regarde l'extrait suivant de la définition d'un service, et je n'arrive pas à me faire une idée précise de ce qui est déclaré :
spec:
type: NodePort
ports:
- port: 27018
targetPort: 27017
protocol: TCP
Référence à la Documentation sur le ServicePort qui se lit en partie comme suit
nodePort The port on each node on which this service is exposed when type=NodePort or LoadBalancer. Usually
integer assigned by the system. If specified, it will be allocated to the service if unused or else creation of the
service will fail. Default is to auto-allocate a port if the ServiceType of this Service requires one. More info:
http://kubernetes.io/docs/user-guide/services#type--nodeport
port The port that will be exposed by this service.
integer
targetPort Number or name of the port to access on the pods targeted by the service. Number must be in the range 1
IntOrString to 65535. Name must be an IANA_SVC_NAME. If this is a string, it will be looked up as a named port in the
target Pod's container ports. If this is not specified, the value of the 'port' field is used (an identity map).
This field is ignored for services with clusterIP=None, and should be omitted or set equal to the 'port' field.
More info: http://kubernetes.io/docs/user-guide/services#defining-a-service
D'après ce que j'ai compris, le port qu'un client extérieur au cluster "verra" sera le port attribué dynamiquement dans la plage suivante 30000
- 32767
comme défini dans la documentation . Celle-ci, par une sorte de magie noire que je ne comprends pas encore, s'écoulera vers les targetPort
sur un nœud donné ( 27017
dans ce cas).
Alors, quel est le port
utilisé ici ?