least_conn upstream configuration issue "host not found in upstream" with Kubernetes DNS

Francis Daly francis at daoine.org
Tue Jan 5 19:55:19 UTC 2021

On Tue, Jan 05, 2021 at 01:20:34PM -0500, kpirateone wrote:

Hi there,

> 1) use ips instead of host names, not ideal due to the dynamic nature of the
> ips
> 2) maintain an upstream configuration externally and use nginx reload to
> modify the upstream as pods come online
> scaling up, as stated in the referenced thread
> (https://forum.nginx.org/read.php?2,290205) is not supported in stock
> nginx.

"scaling up" by turning on upstream services on pre-configured IP:ports
is supported in nginx. Or on re-configured IP:ports.

The thing that is not supported is run-time name resolution, if I
understand things correctly.

> there doesnt seem to be any way to use a least connected policy without
> individually knowing all the hosts?

nginx needs to know what upstream IP:ports to try to connect to. There's
not really a way around that. Stock-nginx learns that list at start time.

> as in, there is no way to use least
> connected over a headless service that returns multiple ips; we must need to
> explicitly declare all known hosts?

A hostname that resolves to multiple IPs should
be fine, according to the documentation --

nginx will request the name resolution at start time. Put your list of
IPs in your name server config, or in your nginx config, as you prefer.


Francis Daly        francis at daoine.org

More information about the nginx mailing list