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.
This module installs Riverbed Stingray Traffic Manager and manages virtual servers, pools, traffic ip groups, etc.
The modules can be installed via puppet module tool (requires version 2.7.14+):
puppet module install riverbed/stingray
Parameters:
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).
Example:
class {'stingray':
accept_license => 'accept',
}
That will download and install the Stingray Traffic Manager.
After the sofware is installed you can either create a new cluster or join an existing cluster (see below). To create a new cluster:
stingray::new_cluster { 'My cluster':
}
To join an existing Stingray cluster:
stingray::join_cluster { 'my_cluster':
join_cluster_host => 'The other STM',
admin_password => 'my_password',
}
Use Stingray Traffic Manager to manage a web application
stingray::web_app { 'My Web Application':
nodes => ['192.168.22.121:80', '192.168.22.122:80'],
trafficips => '192.168.1.1',
}
A pool manages a group of server nodes. To manage pools:
stingray::pool { 'My Pool':
nodes => ['192.168.22.121:80', '192.168.22.122:80'],
}
A traffic ip group defines the set of IP address that the Stingray Traffic Manager will be listening on. To manage traffic ip groups:
stingray::trafficipgroup { 'My Traffic IP Group':
ipaddresses => ['192.168.1.1', '192.168.1.2'],
machines => 'My STM',
enabled => 'yes',
}
A virtual server accepts network traffic and processes it. To manage virtual servers:
stingray::virtual_server { 'My Virtual Server':
address => '!My Traffic IP',
pool => 'My Pool',
enabled => 'yes',
}
Monitors watch the nodes in a pool, and inform Stingray if the nodes are functioning correctly. To create a monitor:
stingray::monitor { 'My HTTP Monitor':
type => 'HTTP',
body_regex => '.*',
path => '/my_path',
}
Session persistence classes can be used to direct all requests in a client session to the same node. To create a session persistence class:
stingray::persistence { 'My Persistence':
type => 'Transparent Session Affinity',
}
Creates a Stingray Traffic manager protection class. This is like an ACL and can be applied to a Virtual Server.
stingray::protection { 'My Protection Class':
allowed => ['10.0.0.0/16', '192.168.1.2'],
banned => ['127.0.0.1'],
}
Creates a Stingray Traffic manager bandwidth management class. Bandwidth classes are used to limit the network resources that a set of connections can consume. When applied to a pool, they limit the bandwidth sending data to that pool. When applied to a virtual server, they limit the bandwidth sending data to the clients.
stingray::bandwidth { 'My Bandwidth Class':
maximum => '10000',
}
Stingray can be used to offload SSL processing from your servers. To use this feature you must import your SSL certificate to the Stingray Traffic Manager. To import an SSL certificate:
stingray::ssl_certificate { 'My SSL Certificate':
certificate_file => 'puppet:///modules/stingray/cert.public',
private_key_file => 'puppet:///modules/stingray/cert.private',
}
Please see the Reference Guide for more details on all the functionality available with the Stingray Traffic Manager Puppet Module.