1

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?

PKD
  • 130
  • 6

2 Answers2

3

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.

Phagun Baya
  • 2,127
  • 1
  • 18
  • 27
  • Great info. Option 2 worked worked for me using command line: az acs create --orchestrator-type kubernetes --resource-group MongoResourceGroup --name MongoK8sCluster --agent-count 1 --generate-ssh-keys – PKD Aug 16 '17 at 09:41
0

Using the following configurations will be helpful.

  • --master-count 1 => Standard_A2 (2 cpu) => 2 cpu
  • --agent-count 2 => Standard_A1 (1 cpu x 2) => 2 cpu

This configuration will create a cluster with in the free acount limits

az acs create -n "your-kubernetes-cluster" -g your-resource-group --master-vm-size Standard_A2 --agent-count 2 --agent-vm-size Standard_A1 --dns-prefix kube --orchestrator-type kubernetes --debug
codenio
  • 721
  • 10
  • 17