Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Overprovision a cluster's scale set

It seems that if you set a Scale Set's overprovision property to true (https://azure.microsoft.com/en-us/documentation/articles/virtual-machine-scale-sets-design-overview/#overprovisioning) you get an invalid SF cluster (the deleted unnecessary VMs appear as bad nodes in the cluster).

Is there a way of making it work? Overprovisioning can really help the deployment succeed when you have multiple VM extensions.

like image 456
Eli Arbel Avatar asked Apr 06 '16 09:04

Eli Arbel


People also ask

How does overprovisioning work with scale set?

With overprovisioning turned on, the scale set actually spins up more VMs than you asked for, then deletes the extra VMs once the requested number of VMs are successfully provisioned. Overprovisioning improves provisioning success rates and reduces deployment time. You are not billed for the extra VMs,...

How can I scale a cluster horizontally to more than 100 nodes?

A single node type/scale set cannot contain more than 100 nodes. You can scale a cluster horizontally to more than 100 nodes by adding additional node types/scale sets. You can scale the cluster at any time, even when workloads are running on the cluster. Export a template and parameters file from the resource group for the most recent deployment.

What is Overprovisioning and why do I need It?

Doing so helps spread load across different internal systems. With overprovisioning turned on, the scale set actually spins up more VMs than you asked for, then deletes the extra VMs once the requested number of VMs are successfully provisioned. Overprovisioning improves provisioning success rates and reduces deployment time.

Can I overprovision or reimage scale set VMS?

You can reimage scale set VMs but not individual VMs. You can overprovision scale set VMs for increased reliability and quicker deployment times. You cannot overprovision individual VMs unless you write custom code to perform this action. You can specify an upgrade policy to make it easy to roll out upgrades across VMs in your scale set.


Video Answer


1 Answers

For a service fabric cluster, it is a must that the VMs be allocated across FDs and UDs, (we use an availability set for forcing such an allocation). This topology is then used to elect voter nodes, place system service replicas and also customers service instances/service replicas. When you specify Overprovision = true, basically azure provisions more VMs than what you ask for and then randomly removes extra ones (once the requested number is reached). This results in uneven distribution of VMs and hence possibly a very badly configured cluster.

The reason why you see these deleted unnecessary VMs appear as bad nodes, is because these nodes originally did join the cluster and then were deleted (so the service fabric still thinks that they will eventually come back), we certainly can do an upgrade to fix that issue, but you cannot fix the uneven distribution of nodes.

So - Always set the Overprovision=False in your VMSS deployments.

like image 135
chacko-AMZN Avatar answered Oct 01 '22 21:10

chacko-AMZN