You can also use taints and tolerations. That way, you don't have to know/hardcode the specific pool name, but simply that it will have the taint high-cpu
, for example. Then you give your pods a tolerance for that taint, and they can schedule on that target pool.
That allows you to have multiple pools, or to have HA pool deployment, where you can migrate from one pool to another by changing the taints on the pools.
The gotcha here, however, is that while a toleration allows pods to schedule on a tainted pool, it won't prevent them from scheduling elsewhere. So, you've need to taint pool-a
with taint-a
, and pool-b
with taint-b
, and give pods for pool-a
and pool-b
the proper taints to keep them out of eachother's pools.