How to find the url of a service in kubernetes?

URL of service is in the below format:

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

In your case it is:

helloworldsvc.test.svc.cluster.local:9111

Get the service name: kubectl get service -n test

URL to a kubernetes service is service-name.namespace.svc.cluster.local:service-port where cluster.local is the kubernetes cluster name.

To get the cluster name: kubectl config get-contexts | awk {'print $2'}

URL to service in your case will be helloworldsvc.test.svc.cluster.local:9111

The way you are trying to do won't work as to make it available on your localhost you need to make the service available at nodeport or using port-forward or using kubectl proxy.

However, if you want dont want a node port and to check if inside the container everything works fine then follow these steps to get inside the container if it has a shell.

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

then do a

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

but both curl commands will work only inside Kubernetes pod and not on your localhost machine.

To access on your host machine kubectl port-forward svc/helloworldsvc 80:9111 -n test