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:NodePortdesde 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)