<p>i am new to kubernetes.</p>
<p>How can I make sure that system-critical pods always run and cannot be displaced by other pods? Do I have to set these critical pods as &quot;system-cluster-critical&quot; or &quot;system-node-critical&quot; priorityclasses or do I have to create another priority class with my own value?</p>
<p>I have found 2 options for pod priorities - priority classes and Quality of service. What is the difference between them?</p>
<p>(<a href="https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/" rel="nofollow noreferrer">https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/</a>  <a href="https://kubernetes.io/docs/tasks/configure-pod-container/quality-service-pod/" rel="nofollow noreferrer">https://kubernetes.io/docs/tasks/configure-pod-container/quality-service-pod/</a>)</p>

<p>To mark a Pod as critical, set <strong>priorityClassName</strong> for that Pod to <strong>system-cluster-critical</strong> or <strong>system-node-critical</strong>. system-node-critical is the highest available priority, even higher than system-cluster-critical</p>
<pre><code>spec:
  priorityClassName: system-cluster-critical
</code></pre>
<p>Refer below link.
<a href="https://kubernetes.io/docs/tasks/administer-cluster/guaranteed-scheduling-critical-addon-pods/" rel="nofollow noreferrer">https://kubernetes.io/docs/tasks/administer-cluster/guaranteed-scheduling-critical-addon-pods/</a></p>
