The Kong Ingress controller was installed outside the mesh.
For it to work as a delegated gateway restart it with sidecar injection enabled:
Add the label:
kubectl label namespace kong kuma.io/sidecar-injection=enabled
Restart both the controller and the gateway to leverage sidecar injection:
kubectl rollout restart -n kong deployment kong-gateway kong-controller
Wait until pods are fully rolled out and look at them:
It is now visible that both pods have 2 containers, one for the application and one for the sidecar.
NAME READY STATUS RESTARTS AGE
kong-controller-675d48d48-vqllj 2/2 Running 2 (69s ago) 72s
kong-gateway-674c44c5c4-cvsr8 2/2 Running 0 72s
Retrieve the public url for the gateway with:
export PROXY_IP=$(kubectl get svc -n kong kong-gateway-proxy -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
echo $PROXY_IP
Verify the gateway still works:
which outputs that there are no routes defined:
HTTP/1.1 404 Not Found
Date: Fri, 09 Feb 2024 15:25:45 GMT
Content-Type: application/json; charset=utf-8
Connection: keep-alive
Content-Length: 103
X-Kong-Response-Latency: 0
Server: kong/3.5.0
X-Kong-Request-Id: e7dfe659c9e46639a382f82c16d9582f
{
"message":"no Route matched with those values",
"request_id":"e7dfe659c9e46639a382f82c16d9582f"
}%