/puppet-redis_cluster

Install multiple redis instances via Puppet to configure a cluster with redis-trib.rb (for Redis version >= 3.0)

Primary LanguageRubyApache License 2.0Apache-2.0

redis_cluster

Table of Contents

  1. Overview
  2. Github repository
  3. Requirements
  4. Beginning with redis_cluster
  5. Development

Overview

The redis_cluster module lets you use Puppet to install and configure multiple instances of Redis in the same node.

Redis_cluster module Features:

  • Redis cluster configuration (Redis >= 3.0)
  • Redis configuration (with Augeas)
  • Multiple Redis Instances in the same node (with systemd)

Github repository

Requirements

Note: to install the latest version of Redis (>= 3.0 is required for the clustering support), the module adds the repository dotdeb.org to /etc/apt/sources.list.d/

Beginning with redis_cluster

To use the redis_cluster module with two instances:

# The global redis preferences (required by redis_cluster::instance class)
class {'redis_cluster':
  redis_version   => 'present',
}

# The first redis instance
redis_cluster::instance{'master':
  ip   => '127.0.0.1',
  port => '7000',
}

# The second redis instance
redis_cluster::instance{'slave':
  ip   => '127.0.0.1',
  port => '7001',
}

After that, you will have to use redis-trib.rb to configure your cluster. Check this tutorial http://redis.io/topics/cluster-tutorial .

Note: The main redis_cluster class is required by all other classes (redis_cluster::instance for example). You must declare it whenever you use the module.

Development

This Puppet module is an open project, and community contributions are essential for keeping it great. I can't access the huge number of platforms and myriad hardware, software, and deployment configurations that Puppet is intended to serve. I encourage you to contribute. Send me your pull requests on Github!