<p>Using Kubernetes I have a set of nodes that are high cpu and I am using a affinity policy for a given deployment to specifically target these high cpu nodes:</p>
<pre><code># deployment.yaml
spec:
  affinity:
    nodeAffinity:
      requiredDuringSchedulingIgnoredDuringExecution:
        nodeSelectorTerms:
        - matchExpressions:
          - key: high-cpu-node
            operator: In
            values:
            - &quot;true&quot;

</code></pre>
<p>That works, however it does not prevent all the rest of the deployments from scheduling pods on these high cpu nodes. How do I specify that these high cpu nodes should ONLY run pods where <code>high-cpu-node=true</code>? Is it possible to do this without going and modifying all the other deployment configurations <em>(I have dozens of deployments)</em>?</p>

Justin
<p>To get this behaviour you should taint nodes and use tolerations on deployments: <a href="https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/" rel="nofollow noreferrer">https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/</a></p>
<p>But, unfortunately, you would have to modify deployments. It's not possible to achieve this simply via labels.</p>
