<p>How to change CPU Limit for namespace <code>kube-system</code> in Azure Kubernetes? My pod could not be deployed successfully due to some pods from namespace <code>kube-system</code> using lots of resource.</p>
<p><a href="https://i.stack.imgur.com/8ccf0.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/8ccf0.png" alt="enter image description here" /></a></p>

<p>Posting this as community wiki out of comment, feel free to edit and expand</p>
<hr />
<p>In short words, this is not possible to change limits for <code>coreDNS</code> and other critical resources located within <code>kube-system</code> namespace. (Technically it's possible to set custom values, but they will be overwritten shortly and initial state will get back to pre-defined one, below answer from microsoft how exactly it works).</p>
<hr />
<p>There's a very similar question to it on <code>microsoft question platform</code> and this is the answer:</p>
<blockquote>
<p>The deployment coredns runs system critical workload using the CoreDNS
project for cluster DNS management and resolution with all 1.12.x and
higher clusters. [Reference].</p>
<p>If you do a kubectl describe deployment -n kube-system coredns, you
will find a very interesting label
addonmanager.kubernetes.io/mode=Reconcile</p>
<p>Now, addons with label addonmanager.kubernetes.io/mode=Reconcile will
be periodically reconciled. Direct manipulation to these addons
through apiserver is discouraged because addon-manager will bring them
back to the original state. In particular:</p>
<ul>
<li><p>Addon will be re-created if it is deleted.</p>
</li>
<li><p>Addon will be reconfigured to the state given by the supplied fields
in the template file periodically.</p>
</li>
<li><p>Addon will be deleted when its manifest file is deleted from the
$ADDON_PATH.</p>
</li>
</ul>
<p>The $ADDON_PATH by default is set to /etc/kubernetes/addons/ on the
control plane node(s).</p>
<p>For more information please check this document.</p>
<p>Since AKS is a managed Kubernetes Service you will not be able to
access $ADDON_PATH. We strongly recommend against forcing changes to
kube-system resources as these are critical for the proper functioning
of the cluster.</p>
</blockquote>
<p>Which was also confirmed in comment by OP:</p>
<blockquote>
<p>just contacted MS support that we cannot change the limits form
kube-system namespace.</p>
</blockquote>
