зеркало из
1
0
Форкнуть 0
azure-quickstart-templates/redis-high-availability
Val M 657481055a Updated description for storageAccountName parameter 2015-04-27 08:17:22 -07:00
..
README.md Updated description for storageAccountName parameter 2015-04-27 08:17:22 -07:00
azuredeploy-parameters.json Added Redis HA template 2015-04-24 07:08:10 -07:00
azuredeploy.json Updated scriptUrl 2015-04-24 16:32:59 -07:00
empty-resources.json Added Redis HA template 2015-04-24 07:08:10 -07:00
jumpbox-resources.json Updated to the latest schema 2015-04-24 16:01:03 -07:00
metadata.json Updates to itemDisplayName 2015-04-24 16:17:57 -07:00
node-resources.json Reverted OSTCExtensions version back to 1.2 2015-04-26 21:18:07 -07:00
redis-cluster-install.sh Added Redis HA template 2015-04-24 07:08:10 -07:00
redis-cluster-setup.sh Added Redis HA template 2015-04-24 07:08:10 -07:00
redis-sentinel-startup.sh Added Redis HA template 2015-04-24 07:08:10 -07:00
shared-resources.json Updated to the latest schema 2015-04-24 16:01:03 -07:00

README.md

Install a Redis cluster on Ubuntu Virtual Machines using Custom Script Linux Extension

This template deploys a Redis cluster on the Ubuntu virtual machines. This template also provisions a storage account, virtual network, availability sets, public IP addresses and network interfaces required by the installation. The template also creates 1 publicly accessible VM acting as a "jumpbox" and allowing to ssh into the Redis nodes for diagnostics or troubleshooting purposes.

The example expects the following parameters:

Name Description Default Value
adminUsername Administrator user name used when provisioning virtual machines
adminPassword Administrator password used when provisioning virtual machines
storageAccountName Unique namespace for a new storage account where the virtual machine's disks will be placed (cannot be an existing storage account)
region Location where resources will be provisioned
virtualNetworkName The arbitrary name of the virtual network provisioned for the Redis cluster redisVirtNet
addressPrefix The network address space for the virtual network 10.0.0.0/16
subnetName Subnet name for the virtual network that resources will be provisioned in to redisSubnet1
subnetPrefix Address space for the virtual network subnet 10.0.0.0/24
nodeAddressPrefix The IP address prefix that will be used for constructing a static private IP address for each node in the cluster 10.0.0.1
jumpbox The flag allowing to enable or disable provisioning of the jumpbox VM that can be used to access the Redis nodes Disabled
tshirtSize The t-shirt size of the Redis deployment Small
redisVersion The version of the Redis package to be deployed on the cluster (or use 'stable' to pull in the latest and greatest) stable
redisClusterName The arbitrary name of the Redis cluster redis-cluster

Topology

The deployment topology is comprised of numberOfInstances nodes running in the cluster mode. The AOF persistence is enabled by default, whereas the RDB persistence is tuned to perform less-frequent dumps (once every 60 minutes). For more details on Redis persistence options, please refer to the official documentation.

The following table outlines the VM characteristics for each supported t-shirt size:

T-Shirt Size VM Size CPU Cores Memory # of Masters # of Slaves Total # of Nodes
Small Standard_A1 1 1.75 GB 3 0 3
Medium Standard_A2 2 3.5 GB 3 3 6
Large Standard_A5 2 14 GB 3 6 9

In addition, some critical memory- and network-specific optimizations are applied to ensure the optimal performance and throughput.

NOTE: To access the individual Redis nodes, you need to enable and use the publicly accessible jumpbox VM and ssh from it into the Redis instances.

##Known Issues and Limitations

  • SSH key is not yet implemented and the template currently takes a password for the admin user
  • Redis version 3.0.0 or above is a requirement for the cluster (although this template also supports Redis 2.x which will be deployed using a traditional master-slave replication)
  • A static IP address (starting with the prefix defined in the nodeAddressPrefix parameter) will be assigned to each Redis node in order to work around the current limitation of not being able to dynamically compose a list of IP addresses from within the template (by default, the first node will be assigned the private IP of 10.0.0.10, the second node - 10.0.0.11, and so on)