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?
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.