Ludovic Alarcon

Ludovic Alarcon .

Kubernetes and Cloud technologies enthusiast, DevOps believer - Golang and Dotnet Developer

Get node pool information on all AKS clusters with Azure Resource Graph

Like me you could have the need to know sku, node count and powerstate of the node pools of all your AKS clusters.

Azure Resource Graph looks the right tools to do so. According to official documentation

Azure Resource Graph is an Azure service designed to extend Azure Resource Management by providing efficient and performant resource exploration with the ability to query at scale across a given set of subscriptions so that you can effectively govern your environment.

Azure Resource Graph’s query language is based on KQL (Kusto Query Language).
For more details, I recommend you to go through the documentation

It took me several attempts and documentation reading before I could get what I wanted.

 Resources
 | where type == "microsoft.containerservice/managedclusters"
 | extend properties.agentPoolProfiles
 | project subscriptionId, name, nodePool = properties.agentPoolProfiles
 | mv-expand nodePool
 | project subscriptionId, name, sku = nodePool.vmSize, count = nodePool.['count'], powerState = nodePool.powerState.code 

You can now have for AKS cluster you have:

With only one query!

Azure Resource Graph is very powerful