Skip to content

influxdata/azure-resource-manager-influxdb-enterprise

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

InfluxEnterprise Azure Marketplace offering

Note: These templates are still under active development. They are not recommended for production.

Publishing a new image

This repository consists of:

ARM template

The output from the market place UI is fed directly to the ARM template. You can use the ARM template on its own without going through the market place.

Parameters

ParameterTypeDescription
loadBalancerTypestring Whether the loadbalancer should be internal or external
chronografstring Either Yes or No to provision an add-on instance with the Chronograf application installed on a public IP using port :8888. This can also be used as a jumpbox to connect and manage other virtual machines on the internal network.
monitorstring Either Yes or No to provision an add-on instance with the InfluxDB OSS service installed for monitoring the enterprise cluster. Selecting this option will also configure and enable Telegraf services on all enterpise instances.
vmSizeDataNodesstring Azure VM size of the data nodes see this list for supported sizes
vmDataNodeCountint The number of datanodes you wish to deploy. (Min: 2 | Max: 8).
vmDataNodeDiskSizestring The disk size of the attached data disk. Choose 1TiB, 512GiB, 256GiB, 128GiB, 64GiB or 32GiB.
vmSizeMetaNodesstring Azure VM size of the meta nodes. The template will provision (3) nodes, please see for list of recommended sizes
adminUsernamestring Admin username used when provisioning virtual machines
passwordobject Password is a complex object parameter, we support both authenticating through username/pass or ssh keys. See the parameters example folder for an example of what to pass for either option.
influxdbUsernamesecurestring InfluxDB username for the admin user with all privileges
influxdbPasswordsecurestring InfluxDB password for the admin user with all privileges, must be > 6 characters
locationstring The location where to provision all the items in this template. Defaults to the special ResourceGroup value which means it will inherit the location from the resource group see this list for supported locations.

Command line deploy

The deploy.sh script in the root of this repo can be used to easily deploy an InfluxDB Enterprise cluster via the Azure CLI.

Begin by installing the Azure CLI and logging in.

$ az login

Note: The deploy.sh script will automatically accept terms for and deploy paid InfluxDB Enterprise images in your Azure Marketplace account.

Create a new configuration file called parameters/parameters.json for your deployment by copying one of the example files provided in the parameters/ directory.

$ cp parameters/ssh.parameters.json parameters/parameters.json

Edit the configuration file parameters you'd like to use for your deployment. Don't forget to update the password object with a new password or your SSH key.

Now run the deploy.sh <resource-group-name> script in the root of this repo to create a cluster in the specified resource group. A new resource group will be created automatically if it doesn't exist.

$ ./deploy.sh test-cluster

After the initial creation, you can continue to publish Incremental deployments using one of the following commands. You can published this repo template directly using --template-uri

az group deployment create --template-uri https://raw.githubusercontent.com/influxdata/azure-resource-manager-influxdb-enterprise/master/src/mainTemplate.json --verbose --resource-group "${group}" --mode Incremental --parameters parameters/password.parameters.json

or if your are executing commands from a clone of this repo using --template-file

az group deployment create --template-file src/mainTemplate.json --verbose --resource-group "${group}" --mode Incremental --parameters parameters/password.parameters.json

<group> in these last two examples refers to the resource group created by the deploy.sh script.

NOTE

The --parameters can specify a different location for the items that get provisioned inside of the resource group. Make sure these are the same prior to deploying if you need them to be. Omitting location from the parameters file is another way to make sure the resources get deployed in the same location as the resource group.

Web based deploy

Deploy to Azure

The above button will take you to the autogenerated web based UI based on the parameters from the ARM template.

It should be pretty self explanatory except for password which only accepts a json object. Luckily the web UI lets you paste json in the text box. Here's an example:

{"sshPublicKey":null,"authenticationType":"password", "password":"Password1234"}

What's deployed

The ARM template will deploy a number of resources.

Generally, all resource naming follows the Azure resource naming recommendations provided by Microsoft.