From searching and observing the behaviour of our cluster, it seems that if we have a HorizontalPodAutoscaler, when it scales down, it picks the youngest pod, or at least one of the youngest pods.
Is there a way we can get it to scale down the oldest one?
What is the rationale for scaling down the newest one? We end up having many pods that live for a very short period of time, and a few that live for a very long time. (Those very long-lived pods end up with a lot of memory use.)
Or perhaps we could get it to pick at random?
The other problem that picking the youngest pod causes is that we have an affinity for nodes with a characteristic and it's leaving the old pods on the other nodes and always scaling down the ones on the nodes we want them on.