<p>A little bit lost in between nodeselector, affinity / anti affinity; taints</p>

<p>What i'd be interested in would be to ensure that a single pod/deployement would run on a given node, not anywhere else. and that this node would not receive any other pod than the specified one</p>

<p>Given the options above (if there are any else), what would be the most concise way to do so ?</p>

<p>Add some label only on one node.<br>
or<br>
You can create a new node-pool with one node.(I would prefer this since this can work well with autoscaling, set min, max nodes to 1)</p>

<p>Create a deployment with one replica and affinity equal to this node.</p>

<p>To limit running just this pod on node:<br>
1) You can add resource limit equal to node's resource value, so that no other pods are scheduled on this node.<br>
or<br>
2) Use some default affinity for all the other pods<br>
or<br>
3) Use <a href="https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#node-isolation-restriction" rel="nofollow noreferrer">node-isolation-restriction</a> to restrict which pods can be scheduled on this node. Haven't tried this myself yet</p>
