Multi VM Couchbase Cluster with Ansible

by Gonzalo
Last updated: 3/23/2016

Cost estimate

$76.998

Estimated monthly cost

Understand how this was calculated and customize to your needs

Pricing calculator

This advanced template deploys a Multi VM Couchbase cluster. In addition to the N number of Couchbase VMs , it will create aa A1 VM that will be used as a reverse proxy for the Couchbase admin console and as an Ansible Controller. The template uses the Ansible Playbooks provided by couchbaselabs in the GitHub repo ansible-couchbase-server to deploy Couchbase on all the VMS.

This Azure Resource Manager template was created by a member of the community and not by Microsoft. Each Resource Manager template is licensed to you under a license agreement by its owner, not Microsoft. Microsoft is not responsible for Resource Manager templates provided and licensed by community members and does not screen for security, compatibility, or performance. Community Resource Manager templates are not supported under any Microsoft support program or service, and are made available AS IS without warranty of any kind.

Parameters

Parameter Name Description
storageAccountType Storage account Type. Standard_LRS or Premium_LRS
vmSize VM Size, for Premium Storage specify DS VMs.
vmSizeDataDisks Data disks Size in GBs
linuxFileSystem Linux File system
serversRole Servers role, for instance webtier, database. A tag will be created with the provided value
serversPurpose Servers purpose, for instance development, test, pre-production, production. A tag will be created with the provided value
imagePublisher VM Image Publisher
imageOffer VM Image Offer
imageSKU VM Image SKU
numberOfVms Number of VMs. The template will create N number of identical VMs
adminUsername Admin user name
adminPassword Admin password
sshKeyData ssh public key for the admin user
sshStorageAccountName Private storage account name in which you are storing your ssh certificates
sshStorageAccountKey Private storage account key in which you are storing your ssh certificates
couchbaseMemoryAllocationPercentage Specify the percentage of RAM Allocated to Couchbase. Leave Memory for the OS.
dnsLabelPrefix DNS Label for the Public IP. Must be lowercase. It should match with the following regular expression: ^[a-z][a-z0-9-]{1,61}[a-z0-9]$ or it will raise an error.
publicIPType Public facing IP Type.

Use the template

PowerShell
New-AzureRmResourceGroupDeployment -Name <deployment-name> -ResourceGroupName <resource-group-name> -TemplateUri https://raw.githubusercontent.com/azure/azure-quickstart-templates/master/couchbase-ansible/azuredeploy.json
Install and configure Azure PowerShell
Command line
azure config mode arm
azure group deployment create <my-resource-group> <my-deployment-name> --template-uri https://raw.githubusercontent.com/azure/azure-quickstart-templates/master/couchbase-ansible/azuredeploy.json
Install and Configure the Azure Cross-Platform Command-Line Interface