<p>I have some confusion on AKS Node pool upgrades and Patching. Could you please clarify on this.</p>
<ol>
<li><p>I have one AKS node pool, which is having 4 nodes, so now I want to upgrade the kubernetes version only in two nodes of node pool. Is it possible?</p>
<p>if it is possible to upgrade in two nodes, then how we can upgrade remaining two nodes? and how we can find out which two nodes are having old kubernetes version instead of latest kubernetes version</p>
</li>
<li><p>While doing the Upgrade process, will it create two new nodes with latest kubernetes version, and then will it delete old nodes in node pool?</p>
</li>
<li><p>Actually azure automatically applies patches on nodes, but will it creates new nodes with new patches and deleted old nodes?</p>
</li>
</ol>

<p><strong>1</strong>. According to the docs:</p>
<ul>
<li>you can <a href="https://learn.microsoft.com/en-us/azure/aks/node-image-upgrade#upgrade-a-specific-node-pool" rel="nofollow noreferrer">upgrade specific node pool</a>.</li>
</ul>
<p>So the approach with additional node-pool mentioned by <a href="https://stackoverflow.com/a/63501711/11207414">4c74356b41</a>.</p>
<hr />
<ul>
<li>Additional info:</li>
</ul>
<blockquote>
<p><a href="https://learn.microsoft.com/en-us/azure/aks/node-updates-kured#node-upgrades" rel="nofollow noreferrer"><strong>Node upgrades</strong></a></p>
</blockquote>
<p>There is an additional process in AKS that lets you upgrade a cluster. <strong>An upgrade is typically to move to a newer version of Kubernetes, not just apply node security updates</strong>.
An AKS upgrade performs the following actions:</p>
<ul>
<li>A new node is deployed with the latest security updates and Kubernetes version applied.</li>
<li>An old node is cordoned and drained.</li>
<li>Pods are scheduled on the new node.</li>
<li>The old node is deleted.</li>
</ul>
<p><strong>2</strong>. By default, AKS uses one additional node to configure upgrades.</p>
<p>You can control this process by increase <a href="https://learn.microsoft.com/en-us/azure/aks/node-image-upgrade#upgrade-node-images-with-node-surge" rel="nofollow noreferrer">--max-surge parameter</a></p>
<blockquote>
<p>To speed up the node image upgrade process, you can upgrade your node images using a customizable node surge value.</p>
</blockquote>
<p><strong>3</strong>. <a href="https://learn.microsoft.com/en-us/azure/aks/node-updates-kured" rel="nofollow noreferrer">Security and kernel updates to Linux nodes</a>:</p>
<blockquote>
<p>In an AKS cluster, your <strong>Kubernetes nodes run as Azure virtual machines (VMs)</strong>. These Linux-based VMs use an Ubuntu image, <strong>with the OS configured</strong> to automatically <strong>check for updates every night</strong>. <strong>If security or kernel updates are available, they are automatically downloaded and installed</strong>.</p>
</blockquote>
<blockquote>
<p><strong>Some security updates</strong>, such as kernel updates, <strong>require a node reboot</strong> to finalize the process. A Linux node that requires a reboot creates a file named /var/run/reboot-required. <strong>This reboot process doesn't happen automatically</strong>.</p>
</blockquote>
<hr />
<ul>
<li><a href="https://www.stackrox.com/post/2020/03/azure-kubernetes-aks-security-best-practices-part-4-of-4/" rel="nofollow noreferrer">This tutorial summarize the process of Cluster Maintenance and Other Tasks</a></li>
</ul>
