Search code examples
azure-container-service

Azure Kubernetes - 'az acs create' and exceeding free account quota


Trying to do an equivalent of my MongoDB on GKE blog post, for Azure Container Services instead, but failing at first hurdle. My blog posts are based on using the quotas available in each cloud provider's free tier/account, to help new users evaluate options before proceeding with paid tier. However having created an Azure free account, I can't seem to create a k8s cluster that stays under the "core limits" (I assume meaning keeping under the free threshold equivalent to "vCPUs", in this case).

When I run following:

az acs create --orchestrator-type kubernetes --resource-group MongoResourceGroup --name MongoK8sCluster --generate-ssh-keys

The result is:

Deployment failed. { "code": "BadRequest", "message": "An error has occurred in subscription 0657d162-d822-48f5-bbe9-4bcaac4f40e4, zesourceGroup: MongoResourceGroup request: Provisioning of resource(s) for container service MongoK8sCluster in resource group MongoResourceGroup failed. Message: {\n  \"code\": \"QuotaExceeded\",\n  \"message\": \"Provisioning of resource(s) for container service MongoK8sCluster in resource group MongoResourceGroup failed. Message: Operation results in exceeding quota limits of Core. Maximum allowed: 4, Current in use: 0, Additional requested: 8.. Details: \"\n }. Details: <no value>."

I tried to specify a smaller type of VM, but I don't seem to quite get there:

az acs create --orchestrator-type kubernetes --resource-group MongoResourceGroup --name MongoK8sCluster --agent-vm-size Standard_A0 --generate-ssh-keys

Deployment failed. { "code": "BadRequest", "message": "An error has occurred in subscription 0657d162-d822-48f5-bbe9-4bcaac4f40e4, resourceGroup: MongoResourceGroup request: Provisioning of resource(s) for container service MongoK8sCluster in resource group MongoResourceGroup failed. Message: {\n  \"code\": \"QuotaExceeded\",\n  \"message\": \"Provisioning of resource(s) for container service MongoK8sCluster in resource group MongoResourceGroup failed. Message: Operation results in exceeding quota limits of Core. Maximum allowed: 4, Current in use: 0, Additional requested: 5.. Details: \"\n }. Details: <no value>.

Any suggestions for getting the k8s sample project core count down enough to be within the free account thresholds?


Solution

  • According to documentation here https://learn.microsoft.com/en-us/cli/azure/acs#create default agent-count is 3 and default master-vm-size is Standard D2_v2. This makes core requirement to be

    3(agents)*1(core) + 1(master)*2(core) = 5
    

    Since you have 4 core available, you should try setting :

     1. agent-count to be 3
     2. agent-vm-size to be Standard_A0
    

    or

     1. agent-count to be 1
     2. agent-vm-size to be Standard_D11_v2
    

    I would prefer option (2) because this will give sufficient memory and IOPS on the agent node. Keep the master-vm-size default as Standard D2_v2 because etcd and kubenetes containers need sufficient memory for operation.