Thursday, April 4, 2013

Module of the Week: riverbed/stingray – Installs and Configures the Stingray Traffic Manager

https://puppetlabs.com/blog/module-of-the-week-riverbedstingray-installs-and-configures-the-stingray-traffic-manager/

Thursday, April 4, 2013 12:10 PMModule of the Week: riverbed/stingray – Installs and Configures the Stingray Traffic ManagerPuppet LabsKavitha Mariappan
PurposeInstall and configure the Stingray Traffic Manager
Moduleriverbed/stingray
Puppet Version2.7+
PlatformsLinux 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

ComplexityEasy
Installation Time5 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

ComplexityEasy
Installation Time5 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 theRiverbed 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 importedto 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 aTransparent 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',  

    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:






No comments:

Post a Comment