Custom naming support for AKS node resource group available

When you deploy an Azure Kubernetes Service cluster in Azure a second resource group gets created for the worker nodes. Per default the resource group has the following naming schema MC_resourcegroupname_clustername_location.

In most cases this naming schema collides with a naming convention already in place for the company’s Azure environment.

A common question since AKS hit the market is, if it is possible to provide a custom name for the AKS node resource group?

The answer is yes. Even this capability is well hidden in the Azure Kubernetes Service FAQ section.


At the moment you can specify the name, when creating an AKS cluster with the aks-preview Azure CLI extension, an ARM template or Terraform.

Just have a look at the following examples to get yourself started.

Azure CLI:

az aks create --name azst-aks1 --resource-group aks --node-resource-group azst-aks1


Azure Resource Manager templates:

  "resources": [
      "apiVersion": "[variables('apiVersion').aks]",
      "type": "Microsoft.ContainerService/managedClusters",
      "name": "[variables('aksCluster').clusterName]",
      "location": "[variables('aksCluster').location]",
      "properties": {
        "nodeResourceGroup": "[variables('aksCluster').clusterName]",
        "kubernetesVersion": "[variables('aksCluster').kubernetesVersion]",
        "enableRBAC": true,



resource "azurerm_kubernetes_cluster" "k8s" {
  name                = var.cluster_name
  location            = azurerm_resource_group.k8s.location
  resource_group_name =
  dns_prefix          = var.dns_prefix
  kubernetes_version  = var.kubernetes_version
  node_resource_group = var.cluster_name

  linux_profile {
    admin_username = var.admin_username

    ssh_key {
      key_data = data.azurerm_key_vault_secret.ssh.value

  agent_pool_profile {
    name               = "nodepool1"


Afterwards your worker nodes reside in the custom-named node resource group.