Sobes.tech
Junior

¿Qué es NodePort y qué funcionalidad proporciona?

sobes.tech AI

Respuesta de la IA

NodePort es un tipo de Service en Kubernetes que abre un puerto en cada Nodo del clúster. El tráfico enviado a este puerto en cualquier Nodo se redirige a los Pods asociados con este Service.

Funcionalidad de NodePort:

  • Cambio de comportamiento: Proporciona acceso externo al servicio. El tráfico externo al clúster puede llegar al servicio a través de cualquier IP del Nodo y el NodePort configurado.
  • Puertos:
    • NodePort: Rango por defecto 30000-32767. Puede ser modificado mediante la configuración del clúster.
    • TargetPort: Puerto en el Pod al que se redirige el tráfico.
    • Port: Puerto del Service dentro del clúster.
Puerto Descripción Uso
NodePort Puerto abierto en cada Nodo Acceso externo al servicio
TargetPort Puerto en el Pod Redirección de tráfico del Service al Pod
Port Puerto del Service dentro del clúster Interacción interna entre servicios
  • Disponibilidad: El servicio está accesible en NodeIP:NodePort desde cualquier Nodo del clúster.
  • Restricciones:
    • Requiere abrir el NodePort en cada Nodo.
    • No apto para entornos de producción debido al rango fijo de puertos y la necesidad de conocer la IP del Nodo.
    • Es más difícil de escalar en comparación con LoadBalancer o Ingress.

Ejemplo YAML para NodePort Service:

apiVersion: v1
kind: Service
metadata:
  name: my-nodeport-service
spec:
  type: NodePort
  selector:
    app: my-app # Selector para elegir Pods
  ports:
    - protocol: TCP
      port: 80 # Puerto del Service
      targetPort: 8080 # Puerto en el Pod
      nodePort: 31000 # NodePort asignado (opcional, se selecciona automáticamente si no se especifica)