Question

How to access my headless service?

I have created a redis deployment and a headless service. How do I access the same? I have an ingress deployment which am able to route traffic thro’ nodeport (it works fine when am not experimenting with headless).

The endpoints seem to be fine.

root@curl:/# curl default-http-backend.ingress-nginx.svc.cluster.local
root@curl:/# curl redis-commander.default.svc.cluster.local
curl: (7) Failed to connect to redis-commander.default.svc.cluster.local port 80: Connection refused

curl to the endpoint works fine.

kubectl describe svc/redis-commander
Name:              redis-commander
Namespace:         default
Labels:            name=redis-commander
Annotations:       <none>
Selector:          name=redis-commander
Type:              ClusterIP
IP:                None
Port:              <unset>  8080/TCP
TargetPort:        8081/TCP
Endpoints:         10.244.0.144:8081,10.244.1.4:8081,10.244.1.84:8081
Session Affinity:  None
Events:            <none>

Pls help.

Subscribe
Share

Submit an answer
You can type!ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

Hi there @madhavig77,

As far as I can see from the information that you’ve provided the Redis service is only available on port 8080 and not port 80, this is why you are getting the Connection refused message when you try to use curl.

Hope that this helps! Regards, Bobby