Sobes.tech
Junior

Qu'est-ce que NodePort et quelles fonctionnalités offre-t-il?

sobes.tech IA

Réponse de l'IA

NodePort est un type de Service dans Kubernetes qui ouvre un port sur chaque nœud du cluster. Le trafic envoyé à ce port sur n'importe quel nœud est redirigé vers les Pods associés à ce Service.

Fonctionnalités de NodePort:

  • Changement de comportement : Fournit un accès externe au service. Le trafic externe au cluster peut atteindre le service via n'importe quelle IP du nœud et le NodePort configuré.
  • Ports :
    • NodePort : Plage par défaut 30000-32767. Peut être modifié via la configuration du cluster.
    • TargetPort : Port sur le Pod vers lequel le trafic est redirigé.
    • Port : Port du Service à l'intérieur du cluster.
Port Description Utilisation
NodePort Port ouvert sur chaque nœud Accès externe au service
TargetPort Port sur le Pod Redirection du trafic du Service vers le Pod
Port Port du Service à l'intérieur du cluster Interaction interne entre services
  • Disponibilité : Le service est accessible via NodeIP:NodePort depuis n'importe quel nœud du cluster.
  • Restrictions :
    • Nécessite l'ouverture du NodePort sur chaque nœud.
    • Non adapté pour la production en raison de la plage fixe de ports et de la nécessité de connaître l'IP du nœud.
    • Plus difficile à faire évoluer comparé à LoadBalancer ou Ingress.

Exemple YAML pour NodePort Service:

apiVersion: v1
kind: Service
metadata:
  name: my-nodeport-service
spec:
  type: NodePort
  selector:
    app: my-app # Sélecteur pour choisir les Pods
  ports:
    - protocol: TCP
      port: 80 # Port du Service
      targetPort: 8080 # Port sur le Pod
      nodePort: 31000 # NodePort attribué (optionnel, sélectionné automatiquement si non spécifié)