我在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
服务?
答案 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/'