Currículum
Curso: Kubernetes Masterclass para principiantes
Acceso

Curriculum

Kubernetes Masterclass para principiantes

Video lesson

Port forwarding

El port forwarding en Kubernetes es una técnica que permite redirigir el tráfico desde tu máquina local a un servicio o pod dentro del clúster. Esto es útil cuando quieres acceder a una aplicación que está corriendo en un pod sin exponerla a través de un servicio externo como NodePort o LoadBalancer.

¿Cómo funciona el port forwarding?

Cuando usas port forwarding, Kubernetes establece una conexión directa entre un puerto en tu máquina local y un puerto en un pod específico dentro del clúster. De esta manera, puedes interactuar con la aplicación dentro del pod como si estuviera corriendo en tu propio equipo.

Cuándo usar el port forwarding:

  • Depuración y desarrollo: Si estás desarrollando una aplicación y necesitas interactuar directamente con un pod para probar el servicio, el port forwarding te permite hacerlo sin exponer el servicio externamente.
  • Acceso temporal: Si solo necesitas acceso temporal a un pod o servicio sin configurar un servicio público.

Comando básico de port forwarding:

 
kubectl port-forward <pod-name> <local-port>:<container-port>

Por ejemplo, si tienes un pod llamado my-pod con un servidor web corriendo en el puerto 8080, puedes redirigir el puerto 8080 del pod al puerto 8080 de tu máquina local con:

 
kubectl port-forward my-pod 8080:8080

Luego puedes acceder al servidor web en tu navegador usando http://localhost:8080, como si el servidor estuviera ejecutándose localmente.

Consideraciones:

  • No es una solución permanente: El port forwarding está pensado para pruebas y depuración. No debería usarse como una solución a largo plazo para exponer servicios.
  • Acceso limitado: Solo permite acceso desde la máquina local donde ejecutas el comando kubectl.

Beneficios:

  • Seguridad: No necesitas exponer un servicio en un puerto público, lo que reduce los riesgos de seguridad.
  • Flexibilidad: Permite a los desarrolladores acceder rápidamente a aplicaciones dentro de los pods sin hacer cambios permanentes en la configuración del clúster.

Ejemplo de port forwarding en un servicio:

También puedes hacer port forwarding a un servicio en lugar de un pod específico, con el comando:

kubectl port-forward service/<service-name> <local-port>:<service-port>

Esto te permite probar el servicio directamente desde tu máquina.

En resumen, el port forwarding es una herramienta poderosa y sencilla que facilita el acceso temporal a los servicios dentro del clúster de Kubernetes, especialmente durante las etapas de desarrollo y depuración.