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:
-
Cree un servicio de tipo puerto de nodo y luego acceda a él a través de
nodeip:nodeport
-
Utilice el reenvío de puertos de Kubectl y luego acceda a él a través de
localhost:forwardedport