Superagent request within a kubernetes cluster

7/27/2017

I have two kubernetes controllers and services with pods running named web and api respectively.

In my web pod I am using superagent to try and access an api pod with the following http://api:3000/api/user this results in the error ERR_NAME_NOT_RESOLVED

However if I run a shell on my web pod and curl http://api:3000/api/user everything works as it should

Am I missing something fundamental about how superagent works? Or something else?

-- Y Anderson
kubernetes
superagent

1 Answer

7/27/2017

If you launch your superagent in a browser, the browser is not a part of Kubernetes cluster, hence it neither uses kube DNS nor can it access cluster IPs.

To make it work you need to expose your api service to the external world by means of NodePort/Loadbalancer service or Ingress

-- Radek 'Goblin' Pieczonka
Source: StackOverflow