SlideShare una empresa de Scribd logo
1 de 16
Descargar para leer sin conexión
MultiMaster
scaling for multiple regions

      Greg Cockburn
        @gergnz
problem:


  How do we provide a
 Puppet Service Globally
 When WAN pipes suck
what's in our tool box?




                    VMware ESX
                           LDAP
              F5 Load Balancers
        Puppet Enterprise Edition
Items that need to be addressed
•  Puppet Certificate management
•  Node Classification and ENC replication
•  Master Replication
•  Master Availability
•  Master Scalability
•  Reporting and notifications
•  Change Control
One Solution that Worked
Build a Puppeteer:

•  This is a Puppet Master Master
•  No Client Access
•  Acts as a PuppetCA
•  Central Point of Entry for Code Updates
•  Ensures that the Puppet Masters are in sync
LDAP as an ENC:
•  Existing highly available UNIX/Linux backbone service
•  Already replicated to every region
•  Masters are configured to speak with their nearest LDAP
  replica

•  Provides an effective audit trail
•  Node definitions are abstracted away from the Puppet
  manifests
Replicating Puppet Configuration:
•  The Puppet Master is effective at syncing files
•  Use the Puppet Fileserver to replicate the masters
   o  manifests

   o  modules

   o  files

   o  templates

•  The Puppeteer can 'kick' the other masters to force a run
•  Create a puppet::master class to ensure, masters are
  fully controlled
F5 Global Traffic Management (GTM)
               & DNS:
•  Local Puppet Master addresses are returned to
  clients based on the DNS server the request
  came from

•  If a Master is down then next nearest is returned
•  Any Puppet Master globally can answer the
  client
F5 Local Traffic Management (LTM):

•  On sites with heavy loads this can be used to
  rapidly scale the local Puppet Master service

•  If a local Master is taken out of service F5 will
  automatically send you to the nearest local
  Master
All Tied Together:
Workflow – Adding a New Server

•  Define the client characteristics in the LDAP ENC (eg.
  Datacentre, Environment, Server Flavour)

•  Configure the build tools
•  PXE boot then server, OS is installed and puppet
  bootstraps

•  Once the client certificate is signed the server is
  configured
Workflow (adding a master):
•  Build a 'standard' client
•  Redefine in ENC (LDAP) as a puppetmaster
•  Destroy local certificates
•  generate special certificates on puppetmaster using --
  dns_alt_names

•  rerun puppet and Master configurations will sync down
So What’s New:
Since this configuration was deployed Puppet Labs have
been busy:

•  Puppet Sites - Will soon be released and addresses a lot
  of the issues here

•  PuppetDB – The new standard for stored configs
Special thanks to Jon Spinks @ Sourced
                 Group




Sourced Group are a Puppet Labs partner
 providing integration services for Puppet
             Enterprise Edition
Q&A




 Please go and bother Jon Spinks to find out what Sourced
  have been doing with Puppet to automate Amazon Web
                        Services

Más contenido relacionado

La actualidad más candente

Using puppet, foreman and git to develop and operate a large scale internet s...
Using puppet, foreman and git to develop and operate a large scale internet s...Using puppet, foreman and git to develop and operate a large scale internet s...
Using puppet, foreman and git to develop and operate a large scale internet s...
techblog
 
Openstack il2014 staypuft- your friendly foreman openstack installer
Openstack il2014   staypuft- your friendly foreman openstack installerOpenstack il2014   staypuft- your friendly foreman openstack installer
Openstack il2014 staypuft- your friendly foreman openstack installer
Arthur Berezin
 

La actualidad más candente (20)

Masterless puppet
Masterless puppetMasterless puppet
Masterless puppet
 
Full Stack Automation with Katello & The Foreman
Full Stack Automation with Katello & The ForemanFull Stack Automation with Katello & The Foreman
Full Stack Automation with Katello & The Foreman
 
CfgMgmtCamp 2015 - Managing the Content Lifecycle with Katello
CfgMgmtCamp 2015 - Managing the Content Lifecycle with KatelloCfgMgmtCamp 2015 - Managing the Content Lifecycle with Katello
CfgMgmtCamp 2015 - Managing the Content Lifecycle with Katello
 
Linux host orchestration with Foreman, Puppet and Gitlab
Linux host orchestration with Foreman, Puppet and GitlabLinux host orchestration with Foreman, Puppet and Gitlab
Linux host orchestration with Foreman, Puppet and Gitlab
 
Connecting AWS and Katello/The Foreman
Connecting AWS and Katello/The ForemanConnecting AWS and Katello/The Foreman
Connecting AWS and Katello/The Foreman
 
Foreman presentation
Foreman presentationForeman presentation
Foreman presentation
 
Using puppet, foreman and git to develop and operate a large scale internet s...
Using puppet, foreman and git to develop and operate a large scale internet s...Using puppet, foreman and git to develop and operate a large scale internet s...
Using puppet, foreman and git to develop and operate a large scale internet s...
 
Experiences from Running Masterless Puppet - PuppetConf 2014
Experiences from Running Masterless Puppet - PuppetConf 2014Experiences from Running Masterless Puppet - PuppetConf 2014
Experiences from Running Masterless Puppet - PuppetConf 2014
 
Continuously-Integrated Puppet in a Dynamic Environment
Continuously-Integrated Puppet in a Dynamic EnvironmentContinuously-Integrated Puppet in a Dynamic Environment
Continuously-Integrated Puppet in a Dynamic Environment
 
De-centralise and Conquer: Masterless Puppet in a Dynamic Environment
De-centralise and Conquer: Masterless Puppet in a Dynamic EnvironmentDe-centralise and Conquer: Masterless Puppet in a Dynamic Environment
De-centralise and Conquer: Masterless Puppet in a Dynamic Environment
 
Apache Provisionr (incubating) - Bucharest JUG 10
Apache Provisionr (incubating) - Bucharest JUG 10Apache Provisionr (incubating) - Bucharest JUG 10
Apache Provisionr (incubating) - Bucharest JUG 10
 
Spot Trading - A case study in continuous delivery for mission critical finan...
Spot Trading - A case study in continuous delivery for mission critical finan...Spot Trading - A case study in continuous delivery for mission critical finan...
Spot Trading - A case study in continuous delivery for mission critical finan...
 
Openstack il2014 staypuft- your friendly foreman openstack installer
Openstack il2014   staypuft- your friendly foreman openstack installerOpenstack il2014   staypuft- your friendly foreman openstack installer
Openstack il2014 staypuft- your friendly foreman openstack installer
 
A user's perspective on SaltStack and other configuration management tools
A user's perspective on SaltStack and other configuration management toolsA user's perspective on SaltStack and other configuration management tools
A user's perspective on SaltStack and other configuration management tools
 
Puppet Availability and Performance at 100K Nodes - PuppetConf 2014
Puppet Availability and Performance at 100K Nodes - PuppetConf 2014Puppet Availability and Performance at 100K Nodes - PuppetConf 2014
Puppet Availability and Performance at 100K Nodes - PuppetConf 2014
 
SaltConf14 - Matthew Williams, Flowroute - Salt Virt for Linux contatiners an...
SaltConf14 - Matthew Williams, Flowroute - Salt Virt for Linux contatiners an...SaltConf14 - Matthew Williams, Flowroute - Salt Virt for Linux contatiners an...
SaltConf14 - Matthew Williams, Flowroute - Salt Virt for Linux contatiners an...
 
SaltStack Integration with Foreman (2016)
SaltStack Integration with Foreman (2016)SaltStack Integration with Foreman (2016)
SaltStack Integration with Foreman (2016)
 
SaltConf14 - Brendan Burns, Google - Management at Google Scale
SaltConf14 - Brendan Burns, Google - Management at Google ScaleSaltConf14 - Brendan Burns, Google - Management at Google Scale
SaltConf14 - Brendan Burns, Google - Management at Google Scale
 
Creating SaltStack State data with Pyobjects
Creating SaltStack State data with PyobjectsCreating SaltStack State data with Pyobjects
Creating SaltStack State data with Pyobjects
 
Red Hat Satellite 6 - Automation with Puppet
Red Hat Satellite 6 - Automation with PuppetRed Hat Satellite 6 - Automation with Puppet
Red Hat Satellite 6 - Automation with Puppet
 

Similar a PuppetCamp Sydney 2012 - Building a Multimaster Environment

State of Puppet 2013 - Puppet Camp DC
State of Puppet 2013 - Puppet Camp DCState of Puppet 2013 - Puppet Camp DC
State of Puppet 2013 - Puppet Camp DC
Puppet
 
CCL-Final Presentation
CCL-Final  PresentationCCL-Final  Presentation
CCL-Final Presentation
Jeremy Dixon
 

Similar a PuppetCamp Sydney 2012 - Building a Multimaster Environment (20)

PuppetConf 2016: Changing the Engine While in Flight – Neil Armitage, VMware
PuppetConf 2016: Changing the Engine While in Flight – Neil Armitage, VMwarePuppetConf 2016: Changing the Engine While in Flight – Neil Armitage, VMware
PuppetConf 2016: Changing the Engine While in Flight – Neil Armitage, VMware
 
Atril-Déjà Vu Tea mserver 2 general presentation
Atril-Déjà Vu Tea mserver 2   general presentationAtril-Déjà Vu Tea mserver 2   general presentation
Atril-Déjà Vu Tea mserver 2 general presentation
 
To Build My Own Cloud with Blackjack…
To Build My Own Cloud with Blackjack…To Build My Own Cloud with Blackjack…
To Build My Own Cloud with Blackjack…
 
Puppet Keynote by Ralph Luchs
Puppet Keynote by Ralph LuchsPuppet Keynote by Ralph Luchs
Puppet Keynote by Ralph Luchs
 
Puppet overview
Puppet overviewPuppet overview
Puppet overview
 
State of Puppet 2013 - Puppet Camp DC
State of Puppet 2013 - Puppet Camp DCState of Puppet 2013 - Puppet Camp DC
State of Puppet 2013 - Puppet Camp DC
 
OpenStack and Windows
OpenStack and WindowsOpenStack and Windows
OpenStack and Windows
 
The Art and Zen of Managing Nagios With Puppet
The Art and Zen of Managing Nagios With PuppetThe Art and Zen of Managing Nagios With Puppet
The Art and Zen of Managing Nagios With Puppet
 
Sharepoint Deployments
Sharepoint DeploymentsSharepoint Deployments
Sharepoint Deployments
 
Inside the Chef Push Jobs Service - ChefConf 2015
Inside the Chef Push Jobs Service - ChefConf 2015 Inside the Chef Push Jobs Service - ChefConf 2015
Inside the Chef Push Jobs Service - ChefConf 2015
 
Automation in Network Lifecycle Management - Bay Area Juniper Meetup
Automation in Network Lifecycle Management - Bay Area Juniper MeetupAutomation in Network Lifecycle Management - Bay Area Juniper Meetup
Automation in Network Lifecycle Management - Bay Area Juniper Meetup
 
Managing PowerShell DSC with Puppet
Managing PowerShell DSC with PuppetManaging PowerShell DSC with Puppet
Managing PowerShell DSC with Puppet
 
CCL-Final Presentation
CCL-Final  PresentationCCL-Final  Presentation
CCL-Final Presentation
 
Nagios Conference 2014 - Mike Merideth - The Art and Zen of Managing Nagios w...
Nagios Conference 2014 - Mike Merideth - The Art and Zen of Managing Nagios w...Nagios Conference 2014 - Mike Merideth - The Art and Zen of Managing Nagios w...
Nagios Conference 2014 - Mike Merideth - The Art and Zen of Managing Nagios w...
 
How to build a Neutron Plugin (stadium edition)
How to build a Neutron Plugin (stadium edition)How to build a Neutron Plugin (stadium edition)
How to build a Neutron Plugin (stadium edition)
 
How to write a Neutron plugin (stadium edition)
How to write a Neutron plugin (stadium edition)How to write a Neutron plugin (stadium edition)
How to write a Neutron plugin (stadium edition)
 
PuppetConf 2017: Puppet Development Kit: A Seamless Workflow for Module Devel...
PuppetConf 2017: Puppet Development Kit: A Seamless Workflow for Module Devel...PuppetConf 2017: Puppet Development Kit: A Seamless Workflow for Module Devel...
PuppetConf 2017: Puppet Development Kit: A Seamless Workflow for Module Devel...
 
Distributed Tensorflow with Kubernetes - data2day - Jakob Karalus
Distributed Tensorflow with Kubernetes - data2day - Jakob KaralusDistributed Tensorflow with Kubernetes - data2day - Jakob Karalus
Distributed Tensorflow with Kubernetes - data2day - Jakob Karalus
 
Our Puppet Story (Linuxtag 2014)
Our Puppet Story (Linuxtag 2014)Our Puppet Story (Linuxtag 2014)
Our Puppet Story (Linuxtag 2014)
 
Scaling to-5000-nodes
Scaling to-5000-nodesScaling to-5000-nodes
Scaling to-5000-nodes
 

Último

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Último (20)

Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 

PuppetCamp Sydney 2012 - Building a Multimaster Environment

  • 1. MultiMaster scaling for multiple regions Greg Cockburn @gergnz
  • 2. problem: How do we provide a Puppet Service Globally When WAN pipes suck
  • 3. what's in our tool box? VMware ESX LDAP F5 Load Balancers Puppet Enterprise Edition
  • 4. Items that need to be addressed •  Puppet Certificate management •  Node Classification and ENC replication •  Master Replication •  Master Availability •  Master Scalability •  Reporting and notifications •  Change Control
  • 6. Build a Puppeteer: •  This is a Puppet Master Master •  No Client Access •  Acts as a PuppetCA •  Central Point of Entry for Code Updates •  Ensures that the Puppet Masters are in sync
  • 7. LDAP as an ENC: •  Existing highly available UNIX/Linux backbone service •  Already replicated to every region •  Masters are configured to speak with their nearest LDAP replica •  Provides an effective audit trail •  Node definitions are abstracted away from the Puppet manifests
  • 8. Replicating Puppet Configuration: •  The Puppet Master is effective at syncing files •  Use the Puppet Fileserver to replicate the masters o  manifests o  modules o  files o  templates •  The Puppeteer can 'kick' the other masters to force a run •  Create a puppet::master class to ensure, masters are fully controlled
  • 9. F5 Global Traffic Management (GTM) & DNS: •  Local Puppet Master addresses are returned to clients based on the DNS server the request came from •  If a Master is down then next nearest is returned •  Any Puppet Master globally can answer the client
  • 10. F5 Local Traffic Management (LTM): •  On sites with heavy loads this can be used to rapidly scale the local Puppet Master service •  If a local Master is taken out of service F5 will automatically send you to the nearest local Master
  • 12. Workflow – Adding a New Server •  Define the client characteristics in the LDAP ENC (eg. Datacentre, Environment, Server Flavour) •  Configure the build tools •  PXE boot then server, OS is installed and puppet bootstraps •  Once the client certificate is signed the server is configured
  • 13. Workflow (adding a master): •  Build a 'standard' client •  Redefine in ENC (LDAP) as a puppetmaster •  Destroy local certificates •  generate special certificates on puppetmaster using -- dns_alt_names •  rerun puppet and Master configurations will sync down
  • 14. So What’s New: Since this configuration was deployed Puppet Labs have been busy: •  Puppet Sites - Will soon be released and addresses a lot of the issues here •  PuppetDB – The new standard for stored configs
  • 15. Special thanks to Jon Spinks @ Sourced Group Sourced Group are a Puppet Labs partner providing integration services for Puppet Enterprise Edition
  • 16. Q&A Please go and bother Jon Spinks to find out what Sourced have been doing with Puppet to automate Amazon Web Services