This template deploys an Elasticsearch cluster on Virtual Machines using linked templates. The template provisions 3 dedicated master nodes, with an optional number of client and data nodes, which are placed in separate availability sets and storage accounts. The template also provides the option of deploying a standalone Marvel cluster.
This Azure Resource Manager (ARM) template was created by a member of the community and not by Microsoft. Each ARM template is licensed to you under a licence agreement by its owner, not Microsoft. Microsoft is not responsible for ARM templates provided and licensed by community members and does not screen for security, compatibility or performance. Community ARM templates are not supported under any Microsoft support programme or service, and are made available AS IS without warranty of any kind.
Parameters
Parameter Name | Description |
---|---|
adminUsername | Admin username used when provisioning virtual machines |
adminPassword | Admin password used when provisioning virtual machines |
virtualNetworkName | Virtual Network |
OS | The operating system to deploy Elasticsearch cluster on |
authenticationType | Whether to use a password or ssh key (Linux only) as authentication |
sshPublicKey | The public ssh key to use for authentication (Linux only) |
loadBalancerType | Setup the load balancer internal or external. If you are setting up Elasticsearch on an external endpoint you will need to secure your nodes with a product like Elasticsearch Shield |
jumpbox | Optionally add a virtual machine to the deployment which you can use to connect and manage virtual machines on the internal network |
vmClientNodeCount | Number of Elasticsearch client nodes to provision (Setting this to zero puts the data nodes on the load balancer) |
vmSizeClientNodes | Size of the Elasticsearch cluster client nodes |
vmSizeMasterNodes | Size of the Elasticsearch master nodes |
vmSizeDataNodes | Size of the Elasticsearch data nodes |
vmDataNodeCount | Number of Elasticsearch data nodes |
esClusterName | The name of the Elasticsearch cluster |
esVersion | Elasticsearch version to install |
afs | Setup an Azure File Service share to store the Elasticsearch data (ubuntu, elasticsearch 2.x only) |
marvel | Install the Marvel agent in the cluster |
marvelCluster | Build a standalone 3 node cluster for Marvel data |
vmSizeMarvelNodes | Size of the Elasticsearch Marvel cluster nodes, if selected |
kibana | Provision a machine with Kibana on it |
sense | Install the Sense plugin (2.x only, requires Kibana) |
jmeterAgent | Install the JMeter Server Agent on each node (Ubuntu only) |
cloudAzure | Install the cloud-azure plugin, which enables Azure backups |
cloudAzureStorageAccount | The name of the storage account to use for the cloud-azure plugin |
cloudAzureStorageKey | The storage account key used to access the storage account listed above |
_artifactsLocation | Change this value to your repo name if deploying from a fork |
_artifactsLocationSasToken | Auto-generated token to access _artifactsLocation |
location | Location for all resources. |
Use the template
PowerShell
New-AzResourceGroup -Name <resource-group-name> -Location <resource-group-location> #use this command when you need to create a new resource group for your deploymentInstalling and configuring Azure PowerShell
New-AzResourceGroupDeployment -ResourceGroupName <resource-group-name> -TemplateUri https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/elasticsearch/azuredeploy.json
Command line
az group create --name <resource-group-name> --location <resource-group-location> #use this command when you need to create a new resource group for your deploymentInstalling and configuring the Azure cross-platform command-line interface
az group deployment create --resource-group <my-resource-group> --template-uri https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/elasticsearch/azuredeploy.json