Kong LoadBalancer over Kubesphere

11/23/2020

I installed Kong (Kong proxy+kong ingress controller) over Kubernetes/Kubesphere cluster with Istio mesh inside, and I added annotations and ingress types needed, so am able to access only the Kong Proxy at node exposed IP and port, but am unable neither add rules nor access Admin GUI or do any kind of configuration, every request I do to my Kong end-point like

curl -i -X GET http://10.233.124.79:8000/rules

or any kind of request to the proxy, I get the same response of:

Content-Type: application/json; charset=utf-8 Connection: keep-alive
Content-Length: 48 X-Kong-Response-Latency: 0 Server: kong/2.2.0

{"message":"no Route matched with those values"}

Am not able to invoke Admin API, its pod-container is only listening to 127.0.0.1, my environment var's for kong-proxy pod

KONG_PROXY_LISTEN
0.0.0.0:8000, 0.0.0.0:8443 ssl http2
KONG_PORT_MAPS
80:8000, 443:8443
KONG_ADMIN_LISTEN
127.0.0.1:8444 ssl
KONG_STATUS_LISTEN
0.0.0.0:8100
KONG_DATABASE
off
KONG_NGINX_WORKER_PROCESSES
2
KONG_ADMIN_ACCESS_LOG
/dev/stdout
KONG_ADMIN_ERROR_LOG
/dev/stderr
KONG_PROXY_ERROR_LOG
/dev/stderr

And env. var's for ingress-controller: CONTROLLER_KONG_ADMIN_URL https://127.0.0.1:8444 CONTROLLER_KONG_ADMIN_TLS_SKIP_VERIFY true CONTROLLER_PUBLISH_SERVICE kong/kong-proxy

So how to be able to expose Admin GUI over the mesh over the nodeport and how to able to invoke Admin API, to add rules, etc?

-- Concepts make sense
istio
kong
kubernetes
networking

1 Answer

3/2/2021

Yes, first you should add rules.

You can directly add routers in KubeSphere. See the documentation for more info.

-- Zack
Source: StackOverflow