En el artículo anterior te mostré una forma de acceder a Kubernetes Dashboard, pero no te expliqué cómo funciona. Hoy te quiero contar cómo usar kubectl proxy con el resto de tus aplicaciones en Kubernetes.
Como su propio nombre indica, kubectl proxy nos permite iniciar un proxy entre el host y nuestro clúster. Este está pensado para la depuración de aplicaciones y el acceso interno, como por ejemplo a dashboards como el del artículo anterior. Tomándolo como ejemplo, en él se ve que accedemos a una URL, la cual se corresponde con el esquema que debes seguir para acceder a tus aplicaciones a través del proxy:
http://localhost:8001/api/v1/proxy/namespaces/<NAMESPACE>/services/<SERVICE-NAME>/proxy/
En el caso de Kubernetes Dashboard quedaba de la siguiente manera:
http://192.168.1.48:8001/api/v1/namespaces/kube-system/services/kubernetes-dashboard/proxy/
Esto es así porque el servicio kubernetes-dashboard pertenece al namespace kube-system. Además, para que esto sea posible, necesitas que tu despliegue sea expuesto a través de un servicio. Para comprobar todo esto que te digo, puedes revisar cuáles son los servicios que tienes creados en tu clúster, y verás que los valores que hemos reemplazado en la URL corresponden con el namespace y el nombre del servicio de Kubernetes Dashboard.
kubectl get services --all-namespaces
Ahora vamos a verlo con otro ejemplo: vamos a comprobar que también es posible acceder a nuestro nginx-deployment a través del proxy.
En el artículo cómo ejecutar contenedores en Kubernetes te expliqué que existe un concepto llamado servicio, que trabaja como balanceador entre las réplicas de nuestros pods. Para nuestro deployment llamado nginx-deployment ejecutábamos la siguiente línea:
kubectl expose deployment nginx-deployment --port=8000 --target-port=80Con ello ya podemos acceder a él de la misma forma que en el ejemplo anterior. En este caso la URL sería: http://192.168.1.48:8001/api/v1/namespaces/default/services/nginx-deployment/proxy/

¡Saludos!
Si quieres seguir aprendiendo sobre contenedores, tienes una lista de vídeos en mi canal de YouTube 👇🏻
¿Qué son los contenedores? Docker desde cero para principiantes
Docker CLI: Comandos esenciales que todo developer debe conocer
Domina los Dockerfiles: De lo básico a multi-stage
4 formas de crear un Dockerfile sin empezar desde cero
¿No entiendes las redes en Docker? Mira este vídeo
Cómo NO perder tus datos en Docker: Guía definitiva
Deja de configurar contenedores a mano: Aprende Docker Compose 🐙
Cómo subir tus imágenes a Docker Hub (Guía paso a paso)
Publica y automatiza tus imágenes de Docker con GitHub


Buen dia, excelentes post, me sirvió de mucho, muchas gracias, pero tengo una duda, por que el puerto 8001 de donde sale ese puerto?
Simple y directo, me sirvió mucho. Una aclaración, en el nombre del servicio, puede ser necesario especificar el protocolo (http o https) y el puerto. Por ejemplo: http://localhost:8001/api/v1/namespaces/default/services/http:my-service:8080/proxy/