for-azure icon indicating copy to clipboard operation
for-azure copied to clipboard

Support for multiple nodes sizes

Open jalberto opened this issue 8 years ago • 3 comments

Currently D4A create 2 VMSS (one for masters, one for workers), I suggest more VMSS can be created, this new sets can be used for different environments (production/staging/etc) or different proposes (CPU intensive/Mem intensive/etc).

Use cases

  • isolate environments
  • use labels to deploy containers to more suitable VMs

Expected behavior

Be able to use several VMs sizes as workers

Actual behavior

Only one VM size is allowed

jalberto avatar Sep 13 '17 11:09 jalberto

is there any workaround to achieve a similar goal?

jalberto avatar Sep 19 '17 17:09 jalberto

The ARM template does not provide an easy way to achieve different classes/types of worker instances. Do you think you can bring up a few different but independent clusters for each of the scenarios (i.e. production/staging) above?

ddebroy avatar Sep 19 '17 23:09 ddebroy

@ddebroy that probably will work for some scenarios, but is less flexible, ie:

  • 2 envs: prod & staging
  • isolated by swarm netowrk
  • with periodic "syncs" (so you can dump prod DB in stagin for testing)

I can see more cons than pros having independent clusters, as you will need to configure each one, and is hard to scale as you will need to take care of each cluster individually.

what about, modify ARM template to create more than one VMset?

right now it create 2 VMS:

  • swarm-manager-vmss
  • swarm-worker-vmss

My suggestion is to, optionally, add more:

  • swarm-worker01-vmss
  • swarm-worker02-vmss

then using swarm labels services can be deployed in the workers

jalberto avatar Sep 21 '17 10:09 jalberto