Does DB-less Kong auto-sync with k8s ingress?


I’ve setup a Postgres backed Kong and it automatically creates all Kong routes, upstreams and services based on the k8s ingresses resources it ingests automatically… Does this behavior remain the same when in DB-less mode or do I have to specify all routes, upstreams and services manually?

It remains the same as long as you have Ingress Controller running along with it.

The data instead of being persisted in the database, it is persisted in-memory by Kong.

There is no change in configuration apart from running Kong itself in in-memory mode.

@hbagdi Thank you for getting back to me.

That contradicts what you said in this other discussion thread 14 days ago regarding DB-less Kong and Prometheus. My understanding of what you mentioned there is that if the ingress controller is activated it will transition Kong into “DB mode” thus turning off “DB-less” Kong.

but now you’re saying if I activate the ingress controllers with a DB-less kong (env.database = “off”) that Kong will continue to run in memory only mode yet it will watch the kube ingress resources and automatically configure itself?

In the DB-less mode, the configuration will be populated based on k8s resources like Ingress, KongPlugins etc.

In the DB mode, it is possible for configuration from k8s to co-exist with configuration from Admin API.

Having said that, you should not be configuring Kong via two methods usually.
Either stick to Admin API or stick to using Kubernetes resources to configure it.