Imagine this hypothetical situation (that just bit me in practice):
default
namespace pods make it on but the kube-system
namespace DNS pod doesn'tIs there any way to use the QoS tiers in Kubernetes to get the scheduler to proritize scheduling the kube-system
pods before the other namespaces? Or is there some other way I should be fixing this problem?
This is a real problem, and Kubernetes doesn't have Pod QoS guarantees yet.
To be completely safe, your cluster should be big enough to handle any expected cluster shrinkage, but that's not always practical.
At the moment, manually shrinking the competing, lower-priority deployments would probably be the easiest way to get a cluster back working.
There is work being done trying to get Pod QoS policies into Kubernetes. You can follow along/chime in on https://github.com/kubernetes/kubernetes/pull/14943