puppet camp ghent 2013
DESCRIPTION
Deploying Nginx with Puppet - Pedro Pessoa http://www.serverdensity.com/puppetcamp/TRANSCRIPT
Adding Adding Forge modulesForge modules
to to
http://www.rankpop.com/you-need-to-start-structuring-your-blog-posts-asap/
Puppet EnterprisePuppet Enterprise
+15TB / mth
+1bn docs /mth
2-5k inserts/s @ 3ms
12K RPM @ 140ms
Servers
HTTP Load Balancer – 4x
Apache - 14x
Build - 2x
MongoDB - 20x data, 12x routing, 6x configuration, 1x arbiter,
HTTP Load Balancerfrom Pound to nginx
New product : new load balancer
nginx :- WebSockets - SPDY standard
keep : - manifests pulled from our Gihub repo by the puppet master- use of Puppet Console and Live Management to trigger transient changes
Reinventing the wheel(don't)
http://www.flickr.com/photos/conskeptical/
Writing our nginx manifest? - add yet another one to the collection
community reach?- whether our problem had already been solved- or a kick start where we could stand on
Going to the Forge
Going to the Forge
A) get the actual code in
Integration
puppet module install puppetlabs/nginx(or)git submodule add https://github.com/puppetlabs/puppetlabsnginx.git
no parameterised classes on PE Console(or)merge our site.pp (which is empty) and the console, it being an ENC and all - (how-merging-works)
B) run it on existing nodes
class serverdensitynginx{ class { 'nginx': } nginx::resource::upstream { 'socky_rack': ensure => present, members => split( $lbTargetHostsSocky, ',' ), }(...)
Integration
Our solution
nginx 'on-the-fly' update
class serverdensitynginx{ class { 'nginx': } nginx::resource::upstream { 'socky_rack': ensure => present, members => split( $lbTargetHostsSocky, ',' ), }(...)
nginx 'on-the-fly' update
nginx 'on-the-fly' update
nginx 'on-the-fly' update
nginx 'on-the-fly' update
Forge namespace Puppet Labs (kick off early 2013?):- best-in-class- actively maintained
Alternatives
pick the later? Puppet Labs last update - 30th June 2011.
Puppet Labs nginx module: https://github.com/serverdensity/puppetlabs-nginx forked James Fryman's module: https://github.com/jfryman/puppet-nginx
https://github.com/serverdensity/puppetlabs-nginx
pick the later? Puppet Labs last update - 30th June 2011.