kong.conf values are rendered into the NGINX configuration when a node boots, so Kong Gateway has to be restarted before it picks up a change to one of them. On Kubernetes, that means replacing the pods rather than reloading the process inside them.
Don’t run
kong reloadin a pod.kong reloaddoes pick up the new value, and it does so without dropping connections, but it changes only the container that you ran it in. That container no longer matches its manifest, the other replicas are untouched, and the change is lost the next time the pod is rescheduled, scaled, or upgraded.Replacing the pods keeps the change in the manifest, where it survives all of those events. To avoid the gap in service that a rolling restart causes, run more than one replica with readiness probes configured instead of using
kong reload.