azure aks system node pool reconfiguration - does it cause node pool to be recreated?

 We can typically choose between manual and automatic approach to auto-scale our cluster when we create our AKS cluster as you can see from here.



So if we have choosen manual approach, if we were to change it to auto-scale, do we need to re-create the node pool.

Here are my findings 

System node pool

- Can i change the node pool from manual to auto without recreating node pool? Yes you can 

- Can i change VM sku? From the portal no but technically yes that will be an operation to delete existing and recreate a new one. I think someone requested this feature to be added 

https://github.com/Azure/AKS/issues/1574

User node pool

- Can i change the node pool from manual to auto without recreating node pool? Yes you can 

- Can i change VM sku? From the portal no but technically yes that will be an operation to delete existing and recreate a new one 


What if we would like to change the sku of our system pool?

We can create a new system pool with the desired vm sku and then migrate existing pods over. Might have some issues with metric-server pods depending on how much node you have. If you have 1 then probably will run into issue. 

As you can see here, these are my node and pods at the moment. 



Then i run

kubectl cordon aks-agentpool-43776398-vmss000000

kubectl drain aks-agentpool-43776398-vmss000000 --ignore-daemonsets --delete-emptydir-data

Then workload gets migrated over. Cluster continue to functions. 

What if i were to delete the last system node pool? 

In AKS, i would get the following eror.



These are quite common configuration changes but sometimes we just forgot and accidentally re-create the node pool when we tried resizing via terraform. Behind the scene it is deleting and recreating for us and cause possible outage.













Comments

Popular posts from this blog

The specified initialization vector (IV) does not match the block size for this algorithm

NodeJS: Error: spawn EINVAL in window for node version 20.20 and 18.20