published on 4 April 2013
Purpose Install and configure the Stingray Traffic Manager
Module riverbed/stingray
Puppet Version 2.7+
Platforms Linux x86, x86_64 ‐ Kernel 2.6 (2.6.8+, 2.6.22+ for IPv6), glibc 2.3.6+

Riverbed Stingray Traffic Manager is a full performance software and virtual Layer 7 application delivery controller (ADC) that enables enterprises and cloud operators to create, manage, and deliver key services more quickly, more flexibly, and at a lower cost. Stingray Traffic Manager offers much more than just load balancing. It controls and optimizes end-user services by inspecting, transforming, prioritizing, and routing application traffic.

The Stingray Traffic Manager Puppet module will automatically download and install the Stingray Traffic Manager software onto a node.

Installing the module

Complexity Easy
Installation Time 5 minutes

Installing the Stingray Traffic Manager Puppet module is as simple as using the Puppet module tool, available in Puppet 2.7.14+ and Puppet Enterprise 2.5+:

# puppet module install riverbed/stingray
Notice: Preparing to install into /etc/puppet/modules ...
Notice: Downloading from https://forge.puppetlabs.com ...
Notice: Installing -- do not interrupt ...
/etc/puppet/modules
└─┬ riverbed-stingray (v0.1.1)
  └── puppetlabs-stdlib (v3.2.0)

Resource Overview

This reference guide has descriptions of all the resources available.

Configuring the module

Complexity Easy
Installation Time 5 minutes

To install the Stingray Traffic Manager software, put the following in your node definition once you have read the Riverbed End User License Agreement:

class {'stingray':
    accept_license => 'accept'
}

There are some optional parameters as well. The full list of parameters is below:

  • ‘install_dir’: Directory to install the Stingray software to (default: /usr/local/stingray/).
  • ‘version’: The version of Stingray to install (default: 9.1).
  • ‘tmp_dir’: Temp directory to use during installation (default: /tmp).
  • ‘accept_license’: Use of this software is subject to the terms of the Riverbed End User License Agreement. Set this to ‘accept’ once you have read the license (default: reject).
  • The node definition can either be directly in the site manifest file (either /etc/puppet/manifests/site.pp or /etc/puppetlabs/puppet/manifests/site.pp) or in a separate file imported to the site manifest file.

    Example usage

    The below example configures the Stingray Traffic Manager to manage a simple website named Northern Lights. It creates a pool with two backend nodes, a virtual server, and a traffic IP group. It also creates a Transparent Session affinity based persistence class as well as an HTTP health monitor. Both are assigned to the pool.

node 'stmtest' {
    class {'stingray':
        accept_license => 'accept'
    }

    stingray::new_cluster{'new_cluster':
    }

    stingray::pool{'Northern Lights':
        nodes       => ['192.168.22.121:80', '192.168.22.122:80'],
        algorithm   => 'Least Connections',
        persistence => 'NL Persistence',
        monitors    => 'NL Monitor'
    }

    stingray::virtual_server{'Northern Lights':
        pool    => 'Northern Lights',
        address => '!NL TIP',
        enabled => 'yes',
    }

    stingray::trafficipgroup{'NL TIP':
        ipaddresses => '10.32.147.85',
        machines    => 'stmtest',
        enabled     => yes,
    }

    stingray::monitor{'NL':
        type       => 'HTTP',
        path       => '/',
        body_regex => '.*'
    }
}

The above example can be expanded to decrypt SSL traffic by adding in the below code snippet, which creates an additional virtual server to take in and decrypt SSL traffic and imports the certificate that virtual server will use.

    stingray::virtual_server { 'Northern Lights SSL':
        address         => '!NL TIP',
        protocol        => 'HTTP',
        port            => 443,
        pool            => 'Northern Lights',
        enabled         => 'yes',
        ssl_decrypt     => 'yes',
        ssl_certificate => 'My SSL Certificate'
    }

    stingray::ssl_certificate{'My SSL Certificate':
        certificate_file => 'puppet:///modules/stingray/cert.public',
        private_key_file => 'puppet:///modules/stingray/cert.private'
    }

Conclusion

With the Stingray Puppet module you can easily provision and configure a Stingray Traffic Manager deployment in the cloud or in your private data center. The Stingray Puppet module will automatically:

  • Download the Stingray Traffic Manager software from the Riverbed Support site and install it on the target machine
  • Join existing clusters or create new ones
  • Create Virtual Servers, Traffic IP Groups, Pools, Monitors, and Persistence classes

Learn More:

Share via:
Posted in:

Add new comment

The content of this field is kept private and will not be shown publicly.

Restricted HTML

  • Allowed HTML tags: <a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • Lines and paragraphs break automatically.
  • Web page addresses and email addresses turn into links automatically.