Saltar al contenido

¿Cómo encontrar la URL de un servicio en kubernetes?

Solución:

La URL del servicio tiene el siguiente formato:

<service-name>.<namespace>.svc.cluster.local:<service-port>

En tu caso es:

helloworldsvc.test.svc.cluster.local:9111

Obtenga el nombre del servicio: kubectl get service -n test

La URL de un servicio de Kubernetes es service-name.namespace.svc.cluster.local: service-port donde cluster.local es el nombre del clúster de Kubernetes.

Para obtener el nombre del clúster: kubectl config get-contexts | awk {'print $2'}

URL al servicio en su caso será helloworldsvc.test.svc.cluster.local: 9111

La forma en que está tratando de hacerlo no funcionará, ya que para que esté disponible en su host local, debe hacer que el servicio esté disponible en nodeport o usando port-forward o usando kubectl proxy.

Sin embargo, si no quiere un puerto de nodo y para verificar si dentro del contenedor todo funciona bien, siga estos pasos para ingresar al contenedor si tiene un caparazón.

kubectl exec -it container-name -n its-namespace-name sh

entonces haz un

curl localhost:80 o curl helloworldsvc.test.svc.cluster.local:9111 o curl 10.1.0.28:80

pero ambos comandos curl solo funcionarán dentro del pod de Kubernetes y no en su máquina localhost.

Para acceder en su máquina host kubectl port-forward svc/helloworldsvc 80:9111 -n test

El servicio que ha creado es de tipo ClusterIP al que solo se puede acceder desde el interior del clúster. Tiene dos formas de acceder a él desde su escritorio:

  1. Cree un servicio de tipo puerto de nodo y luego acceda a él a través de nodeip:nodeport

  2. Utilice el reenvío de puertos de Kubectl y luego acceda a él a través de localhost:forwardedport

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *