+ All Categories
Home > Documents > Puppet Camp Ghent 2013

Puppet Camp Ghent 2013

Date post: 21-Jan-2015
Category:
Upload: server-density
View: 4,014 times
Download: 0 times
Share this document with a friend
Description:
Deploying Nginx with Puppet - Pedro Pessoa http://www.serverdensity.com/puppetcamp/
Popular Tags:
17
Adding Adding Forge modules Forge modules to to http://www.rankpop.com/you-need-to-start-structuring-your-blog-posts-asap/ Puppet Enterprise Puppet Enterprise
Transcript
Page 1: Puppet Camp Ghent 2013

Adding Adding Forge modulesForge modules

to to

http://www.rankpop.com/you-need-to-start-structuring-your-blog-posts-asap/

Puppet EnterprisePuppet Enterprise

Page 2: Puppet Camp Ghent 2013
Page 3: Puppet Camp Ghent 2013

+15TB / mth

+1bn docs /mth

2-5k inserts/s @ 3ms

12K RPM @ 140ms

Page 4: Puppet Camp Ghent 2013

Servers

HTTP Load Balancer – 4x

Apache - 14x

Build - 2x

MongoDB - 20x data, 12x routing, 6x configuration, 1x arbiter,

Page 5: Puppet Camp Ghent 2013

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

Page 6: Puppet Camp Ghent 2013

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

Page 7: Puppet Camp Ghent 2013

Going to the Forge

Page 8: Puppet Camp Ghent 2013

Going to the Forge

Page 9: Puppet Camp Ghent 2013

A) get the actual code in

Integration

puppet module install puppetlabs/nginx(or)git submodule add https://github.com/puppetlabs/puppetlabs­nginx.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

Page 10: Puppet Camp Ghent 2013

class serverdensity­nginx{    class { 'nginx': }    nginx::resource::upstream {       'socky_rack':          ensure => present,          members => split( $lbTargetHostsSocky, ',' ),    }(...)

Integration

Our solution

Page 11: Puppet Camp Ghent 2013

nginx 'on-the-fly' update

class serverdensity­nginx{    class { 'nginx': }    nginx::resource::upstream {       'socky_rack':          ensure => present,          members => split( $lbTargetHostsSocky, ',' ),    }(...)

Page 12: Puppet Camp Ghent 2013

nginx 'on-the-fly' update

Page 13: Puppet Camp Ghent 2013

nginx 'on-the-fly' update

Page 14: Puppet Camp Ghent 2013

nginx 'on-the-fly' update

Page 15: Puppet Camp Ghent 2013

nginx 'on-the-fly' update

Page 16: Puppet Camp Ghent 2013

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.

Page 17: Puppet Camp Ghent 2013

Pedro Pessoa

[email protected]

http://serverdensity.com/puppetcamp/


Recommended