title: ARM AKS Must define at least one system pool
body: <p>I'm creating AKS cluster using ARM script.
  The goal is to create cluster from 0 with all needed configurations VNs, NGS and AgentPool.
  Here is mine ManagedCluster ARM template:</p>
  
  <pre><code>  {
              "apiVersion": "2020-03-01",
              "name": "[parameters('clusterName')]",
              "type": "Microsoft.ContainerService/managedClusters",
              "location": "[parameters('templateSettings').location]",
              "properties": {
                  "kubernetesVersion": "[parameters('kubernetesVersion')]",
                  "enableRBAC": true,
                  "dnsPrefix": "[parameters('dnsPrefix')]",
                  "agentPoolProfiles": [
                      {
                          "name": "nodepool",
                          "count": "[parameters('agentCount')]",
                          "vmSize": "[parameters('agentVMSize')]",
                          "osDiskSizeGB": "[parameters('osDiskSizeGB')]",
                          "vnetSubnetID": "[parameters('vnetSubnetID')]",
                          "maxPods": 110,
                          "minCount": 1,
                          "maxCount": 100,
                          "enableAutoScaling": true,
                          "type": "VirtualMachineScaleSets",
                          "storageProfile": "ManagedDisks"
                      }
                  ],
                  "servicePrincipalProfile": {
                      "ClientId": "[parameters('servicePrincipalClientId')]",
                      "Secret": "[parameters('servicePrincipalClientSecret')]"
                  },
                  "networkProfile": {
                      "loadBalancerSku": "standard",
                      "networkPlugin": "kubenet"
                  },
                  "addonProfiles": {
                      "httpApplicationRouting": {
                          "enabled": true
                      },
                      "omsagent": {
                          "enabled": true,
                          "config": {
                              "logAnalyticsWorkspaceResourceID": "[resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspaceName'))]"
                          }
                      }
                  },
                  "nodeResourceGroup": "[concat(resourceGroup().name, '-nodes')]"
              }
          }
  </code></pre>
  
  <p>On deployment to Azure I receive this error which is not mentioned anywhere in docs:</p>
  
  <pre><code>{
      "error": {
          "code": "InvalidTemplateDeployment",
          "message": "The template deployment 'AksDeployment' is not valid according to the validation procedure. The tracking id is 'b68b569d-**********************'. See inner errors for details.",
          "details": [
              {
                  "code": "MustDefineAtLeastOneSystemPool",
                  "message": "Provisioning of resource(s) for container service aks-arm-test in resource group rg-arm-test failed. Message: {\n  \"code\": \"MustDefineAtLeastOneSystemPool\",\n  \"message\": \"Must define at least one system pool.\"\n }. Details: "
              }
          ]
      }
  }
  </code></pre>