Skip to content
This repository has been archived by the owner on Mar 30, 2023. It is now read-only.

Add support for Availability Zones to increase high availability #370

Open
kbandrew opened this issue Nov 26, 2020 · 4 comments
Open

Add support for Availability Zones to increase high availability #370

kbandrew opened this issue Nov 26, 2020 · 4 comments

Comments

@kbandrew
Copy link

The deployed VMs are grouped into Availability Sets, but for increased availability, it would be good if there could be support for distributing VMs across Availability Zones.

I believe this is on the roadmap: -

The template does not currently use Availability zones since they are not yet available in all Azure regions to which the template can be deployed. It is expected that the template will use Availability zones in the future.

Availability Zones are now well supported across Azure regions. Perhaps the support could be available via a parameter in the template if support across ALL regions is a concern?

NOTE: Moving VMs to Availability Zones isn't a trivial task, so we are now having to consider using a different approach to creating our elastic clusters.

@Mpdreamz
Copy link
Member

@kbandrew the original reservations to do this OOTB by default still stands:

The situations has not changed since

https://docs.microsoft.com/en-us/azure/availability-zones/az-region

We would definitely be open to a PR that adds support to it through a flag but realistically we won't add support for this any time soon I'm afraid.

@kbandrew
Copy link
Author

kbandrew commented Nov 26, 2020

@Mpdreamz I wouldn't mind creating a PR if you are open to a contribution on this.

Is it relatively easy to run the main template against a local copy of the files vs running against https://raw.githubusercontent.com/elastic/azure-marketplace/master/src/ ?

@Mpdreamz
Copy link
Member

Mpdreamz commented Nov 26, 2020

Awesome!

It is, your copy has to be up on github (fork) though the docs here go into how to set it up:

https://github.com/elastic/azure-marketplace/tree/master/build

You can add a test case here:

https://github.com/elastic/azure-marketplace/tree/master/build/arm-tests

And run the integration tests on your deploy with:

npm run deploy -- --test <your test case>

That will deploy the test in a new resource group validate everything starts and then teardown.

(On phone but more then happy to expand on this if needed :))

@kbandrew
Copy link
Author

Thanks @Mpdreamz, that is very helpful.

We have added in support for Availability Zones and have successfully created a new cluster to our spec! We will look at making it fully parameterised, polish it up and make sure the test cases pass before we submit a PR.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants