无法将内部API添加到在GKE上运行的KONG api网关

时间:2017-07-14 16:03:15

标签: kubernetes kong

我在GKE上运行Kong API网关并尝试添加自己的服务。

我有3个豆荚

  • cassandra
  • kong
  • apiindex

和2个服务(节点端口)

  • apiindex(80/443/8080端口已打开)
  • kong-proxy(8000/8001/8443)

我尝试使用

apiindex api添加到API网关
  

curl -i -X POST http://kong-proxy:8001/apis -d' name = test' -d' uris = /'   -d' upstream_url = http://apiindex/'

然后http://kong-proxy:8000/返回

  

503 {" message":"服务不可用"}

当我在里面添加一些公共网站时它工作正常 curl -i -X POST http://kong-proxy:8001/apis -d 'name=test' -d 'uris=/' -d 'upstream_url=http://httpbin.org/'

curl http://apiindex/kong pod返回200。

是否可以使用kong添加API而不暴露apiindex服务?

1 个答案:

答案 0 :(得分:3)

您需要在kubernetes https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/

中使用服务的完全限定名称(FQDN)

因此,而不是apiindex需要使用apiindex.default.svc.cluster.local

  

curl -i -X POST http://kong-proxy:8001/apis -d' name = testapi' -d   '的URI = /' -d' upstream_url = http://apiindex.default.svc.cluster.local/'