I'm running Kong API gateway on GKE and trying to add my own service.
I have 3 pods
cassandrakongapiindexand 2 services(node ports)
apiindex (80/443/8080 ports are open)kong-proxy(8000/8001/8443)I'm trying to add apiindex api to API gateway using
curl -i -X POST http://kong-proxy:8001/apis -d 'name=test' -d 'uris=/' -d 'upstream_url=http://apiindex/'
But then http://kong-proxy:8000/ returns
503 {"message": "Service unavailable"}
It works fine when I add some public website inside curl -i -X POST http://kong-proxy:8001/apis -d 'name=test' -d 'uris=/' -d 'upstream_url=http://httpbin.org/'
curl http://apiindex/ returns 200 from kong pod.
Is it possible to add API using kong without exposing apiindex service?
You need to use the fully qualified name of the service (FQDN) in kubernetes https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/
So instead of apiindex need to use apiindex.default.svc.cluster.local
curl -i -X POST http://kong-proxy:8001/apis -d 'name=testapi' -d 'uris=/' -d 'upstream_url=http://apiindex.default.svc.cluster.local/'