Cómo usar kubectl proxy para acceder a tus aplicaciones

Gisela Torres
Computación en la nube
En el artículo anterior te mostré una forma de acceder a Kubernetes Dashboard, pero no te expliqué cómo funciona

Cómo usar kubectl proxy para acceder a tus aplicaciones

 

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
 
kubectl get services all namespaces kubernetes-dashboard

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=80
 

Con 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/

Accediendo a nginx desde kubectl proxy

¡Saludos!

Gisela Torres

Gisela Torres trabaja en Microsoft como Cloud Solution Architect. Se trata de un puesto técnico cuya misión es apoyar y asesorar sobre soluciones y arquitecturas cloud utilizando Microsoft Azure como plataforma. Antes de eso trabajo como arquitecta de software y desarrolladora de aplicaciones en varias empresas. Durante esos años recibio varios premios por ejemplo Most Valuable Professional en Microsoft Azure. Le encanta programar y la tecnología en general.

Más artículos de Gisela en su blog - https://www.returngis.net/

Related Posts

Únete a nuestra Newsletter

Lidera la Conversación en la Nube