SlideShare uma empresa Scribd logo
1 de 17
Instant Data 
Center 
A Data Center on your Laptop 
Bryan Belanger bbelanger@azcender.com
Why Developing in Your Data 
Center is a Bad Idea 
• Virtual Machines / Nodes tend to be expensive 
• You’ll break your nodes… lots 
• You can break your Puppet Master
Do It All on your Local Box 
• Easy way to test and run your Puppet architecture 
• No overhead in maintaining dev nodes 
• Tear down and rebuild nodes quickly and easily 
• If you break the Puppet Master who cares
The Basic Blocks 
http://git-scm.com 
http://ruby-lang.org 
http://vagrantup.com 
http://virtualbox.org
Other Requirements 
• vagrant-oscar: 
vagrant plugin install oscar 
• vagrant-vbguest: 
vagrant plugin install vagrant-vbguest 
• librarian-puppet gem: 
gem install librarian-puppet 
• nokogiri gem: 
gem install --install-dir ~/.vagrant.d/gems nokogiri -v '1.6.4.1' 
• vagrant-centos7_fix: 
vagrant plugin install vagrant-centos7_fix 
• puppet gem: 
gem install puppet
Other Considerations 
• You’ll need an i5 or better processor 
• You need a minimum of 8 GB 
• 16 GB is recommended
Using the Oscar Plugin 
• boxes.yaml 
• Hash of boxes and their location 
• pe_build.yaml 
• Specifies location and version of 
Puppet Enterprise 
• roles.yaml 
• Virtual machine configuration 
details 
• vms.yaml 
• Ties boxes and configuration 
together
boxes.yaml Finds Vagrant 
Boxes 
# Boxes 
# Updated: 2014-12-03 --- PT 
boxes: 
'fs_centos-65-x64-vbox4320-nocm': 
Every Box has a Name 
‘http://file.azcender.com/boxes/fs_centos-65-x64-vbox4320-nocm.box' 
'fs_centos-7-x64-vbox4320-nocm': 
‘http://file.azcender.com/boxes/fs_centos-7-x64-vbox4320-nocm.box' 
‘fs_ubuntu-server-14041-x64-vbox4320-nocm': 
‘http://file.azcender.com/boxes/fs_ubuntu-server-14041-x64-vbox4320-nocm.box' 
'fs_win-2012r2-standard-amd64-vbox4316-nocm': 
'http://file.azcender.com/boxes/fs_win-2012r2-standard-amd64-vbox4316-nocm.box' 
Every Box has 
a Location
pe_build.yaml Downloads 
Puppet Enterprise 
--- 
pe_build: 
version: 3.3.2 
download_root: "http://s3.amazonaws.com/pe-builds/released/:version" 
Puppet Enterprise 
Version
roles.yaml Configures a Node 
--- 
roles: 
pe-puppet-master: 
vbguest: 
auto_update: true 
provider: 
type: virtualbox 
customize: 
Every Role has a Name 
Puppet command 
configures the 
- [modifyvm, !ruby/sym id, '--memory', 4096, '--cpus', 4] 
private_networks: 
- {ip: '0.0.0.0', auto_network: true} 
forwarded_ports: 
- {guest: 443, host: 8443} 
provisioners: 
- {type: hosts} 
- {type: pe_bootstrap, role: !ruby/sym master} 
- {type: shell, inline: 'ln -s -f /opt/puppet/bin/puppet /usr/bin/puppet'} 
- {type: puppet, manifests_path: puppet/manifests, manifest_file: site.pp, 
module_path: puppet/modules, 
options: '--verbose --debug --hiera_config /vagrant/puppet/hiera.yaml'} 
- {type: shell, inline: '/usr/local/bin/puppet agent -t'} 
master 
Shell script kicks the 
agent
vms.yaml Glues Boxes and 
Roles Together 
--- 
vms: 
- name: master 
Every VM has a Name 
box: fs_centos-7-x64-vbox4320-nocm 
roles: 
- pe-puppet-master 
- name: centos0 
box: fs_centos-7-x64-vbox4320-nocm 
roles: 
- pe-puppet-agent-linux 
- name: centos1 
box: fs_centos-7-x64-vbox4320-nocm 
roles: 
- pe-puppet-agent-linux 
- name: windows0 
box: fs_win-2012r2-standard-amd64-vbox4316-nocm 
roles: 
- pe-puppet-agent-windows 
Every VM Needs a Box 
Every VM Needs a Role
Quick Start 
1. Install Vagrant, VirtualBox, git and Ruby 
2. Clone the puppet-r10k project 
• git clone https://github.com/azcender/puppet-r10k.git 
3. Make sure you install your modules 
• cd puppet 
• librarian-puppet install 
4. Change to project directory 
• cd puppet-r10k 
5. Start the Vagrant master 
• vagrant up master 
6. Once complete start a Puppet node 
• vagrant up centos0 
7. Visit your new Puppet console 
• https://localhost:8443 
• User: admin@puppetlabs.com 
• PW: puppetlabs
See The Following Project 
and Detailed Setup 
https://github.com/azcender/puppet-r10k.git
What’s Happening 
Oscar Downlads 
Puppet 
Oscar Installs the 
Puppet Master Using 
an Answer File 
The Default site.pp is 
Applied to the Master 
An Agent Node is 
Started 
The Agent Node 
Issues a CURL 
Command to Install 
Puppet from the 
Paster 
Master Install 
Agent Install
site.pp 
• Install r10k 
• Export the hosts — Import External Ones 
• Install Hiera 
• Kick the Agent
Special Thanks 
Full Frontal Ingenuity

Mais conteúdo relacionado

Mais procurados

Eduardo Silva - monkey http-server everywhere
Eduardo Silva - monkey http-server everywhereEduardo Silva - monkey http-server everywhere
Eduardo Silva - monkey http-server everywhere
StarTech Conference
 
Build and deployment
Build and deploymentBuild and deployment
Build and deployment
WO Community
 
Using Nagios to monitor your WO systems
Using Nagios to monitor your WO systemsUsing Nagios to monitor your WO systems
Using Nagios to monitor your WO systems
WO Community
 

Mais procurados (20)

Vert.x v3 - high performance polyglot application toolkit
Vert.x v3 - high performance  polyglot application toolkitVert.x v3 - high performance  polyglot application toolkit
Vert.x v3 - high performance polyglot application toolkit
 
Eduardo Silva - monkey http-server everywhere
Eduardo Silva - monkey http-server everywhereEduardo Silva - monkey http-server everywhere
Eduardo Silva - monkey http-server everywhere
 
Storage based snapshots for KVM VMs in CloudStack
Storage based snapshots for KVM VMs in CloudStackStorage based snapshots for KVM VMs in CloudStack
Storage based snapshots for KVM VMs in CloudStack
 
OpenNebulaConf 2016 - Networking, NFVs and SDNs Hands-on Workshop by Rubén S....
OpenNebulaConf 2016 - Networking, NFVs and SDNs Hands-on Workshop by Rubén S....OpenNebulaConf 2016 - Networking, NFVs and SDNs Hands-on Workshop by Rubén S....
OpenNebulaConf 2016 - Networking, NFVs and SDNs Hands-on Workshop by Rubén S....
 
OpenNebulaConf 2016 - Evolution of OpenNebula at Netways by Sebastian Saemann...
OpenNebulaConf 2016 - Evolution of OpenNebula at Netways by Sebastian Saemann...OpenNebulaConf 2016 - Evolution of OpenNebula at Netways by Sebastian Saemann...
OpenNebulaConf 2016 - Evolution of OpenNebula at Netways by Sebastian Saemann...
 
Build and deployment
Build and deploymentBuild and deployment
Build and deployment
 
MySQL NDB 8.0 clusters in your laptop with dbdeployer
MySQL NDB 8.0 clusters in your laptop with dbdeployerMySQL NDB 8.0 clusters in your laptop with dbdeployer
MySQL NDB 8.0 clusters in your laptop with dbdeployer
 
nginx + uwsgi emperor + bottle
nginx + uwsgi emperor + bottlenginx + uwsgi emperor + bottle
nginx + uwsgi emperor + bottle
 
Dbdeployer, the universal installer
Dbdeployer, the universal installerDbdeployer, the universal installer
Dbdeployer, the universal installer
 
JavaScript Event Loop
JavaScript Event LoopJavaScript Event Loop
JavaScript Event Loop
 
uWSGI - Swiss army knife for your Python web apps
uWSGI - Swiss army knife for your Python web appsuWSGI - Swiss army knife for your Python web apps
uWSGI - Swiss army knife for your Python web apps
 
Optimization_of_Virtual_Machines_for_High_Performance
Optimization_of_Virtual_Machines_for_High_PerformanceOptimization_of_Virtual_Machines_for_High_Performance
Optimization_of_Virtual_Machines_for_High_Performance
 
Using Nagios to monitor your WO systems
Using Nagios to monitor your WO systemsUsing Nagios to monitor your WO systems
Using Nagios to monitor your WO systems
 
Intro to Node.js
Intro to Node.jsIntro to Node.js
Intro to Node.js
 
using Virtualbox NAT and shared folder
using Virtualbox NAT and shared folderusing Virtualbox NAT and shared folder
using Virtualbox NAT and shared folder
 
Test like a_boss
Test like a_bossTest like a_boss
Test like a_boss
 
Running virtual box from the linux command line
Running virtual box from the linux command lineRunning virtual box from the linux command line
Running virtual box from the linux command line
 
RVM, Bundler and Ruby Tracker
RVM, Bundler and Ruby TrackerRVM, Bundler and Ruby Tracker
RVM, Bundler and Ruby Tracker
 
Into the Wild with Node.js and Web Apps
Into the Wild with Node.js and Web AppsInto the Wild with Node.js and Web Apps
Into the Wild with Node.js and Web Apps
 
Simple webapps with nginx, uwsgi emperor and bottle
Simple webapps with nginx, uwsgi emperor and bottleSimple webapps with nginx, uwsgi emperor and bottle
Simple webapps with nginx, uwsgi emperor and bottle
 

Destaque

Very.good.things.to.know.about.puppet.in.20.minutes.aka.universe
Very.good.things.to.know.about.puppet.in.20.minutes.aka.universeVery.good.things.to.know.about.puppet.in.20.minutes.aka.universe
Very.good.things.to.know.about.puppet.in.20.minutes.aka.universe
earthgecko
 
Puppet as data_chicago
Puppet as data_chicagoPuppet as data_chicago
Puppet as data_chicago
bodepd
 
Puppet Camp CERN Geneva
Puppet Camp CERN GenevaPuppet Camp CERN Geneva
Puppet Camp CERN Geneva
Steve Traylen
 

Destaque (20)

Wishes and Regrets
Wishes and RegretsWishes and Regrets
Wishes and Regrets
 
PuppetCamp SEA 1 - Puppet & FreeBSD
PuppetCamp SEA 1 - Puppet & FreeBSDPuppetCamp SEA 1 - Puppet & FreeBSD
PuppetCamp SEA 1 - Puppet & FreeBSD
 
Very.good.things.to.know.about.puppet.in.20.minutes.aka.universe
Very.good.things.to.know.about.puppet.in.20.minutes.aka.universeVery.good.things.to.know.about.puppet.in.20.minutes.aka.universe
Very.good.things.to.know.about.puppet.in.20.minutes.aka.universe
 
Puppet at Opera Sofware - PuppetCamp Oslo 2013
Puppet at Opera Sofware - PuppetCamp Oslo 2013Puppet at Opera Sofware - PuppetCamp Oslo 2013
Puppet at Opera Sofware - PuppetCamp Oslo 2013
 
Puppet Camp Paris 2014: Shipping Puppet Modules As Packages
Puppet Camp Paris 2014: Shipping Puppet Modules As Packages Puppet Camp Paris 2014: Shipping Puppet Modules As Packages
Puppet Camp Paris 2014: Shipping Puppet Modules As Packages
 
rake puppetexpert:create - Puppet Camp Silicon Valley 2014
rake puppetexpert:create - Puppet Camp Silicon Valley 2014rake puppetexpert:create - Puppet Camp Silicon Valley 2014
rake puppetexpert:create - Puppet Camp Silicon Valley 2014
 
PuppetCamp SEA @ Blk 71 - Puppet: The Year That Was
PuppetCamp SEA @ Blk 71 - Puppet: The Year That WasPuppetCamp SEA @ Blk 71 - Puppet: The Year That Was
PuppetCamp SEA @ Blk 71 - Puppet: The Year That Was
 
Puppet as data_chicago
Puppet as data_chicagoPuppet as data_chicago
Puppet as data_chicago
 
Puppet At Twitter - Puppet Camp Silicon Valley
Puppet At Twitter - Puppet Camp Silicon ValleyPuppet At Twitter - Puppet Camp Silicon Valley
Puppet At Twitter - Puppet Camp Silicon Valley
 
Puppet Camp CERN Geneva
Puppet Camp CERN GenevaPuppet Camp CERN Geneva
Puppet Camp CERN Geneva
 
PuppetCamp SEA @ Blk 71 - What's New in Puppet DB
PuppetCamp SEA @ Blk 71 - What's New in Puppet DBPuppetCamp SEA @ Blk 71 - What's New in Puppet DB
PuppetCamp SEA @ Blk 71 - What's New in Puppet DB
 
2014-11-11 Multiple Approaches to Managing Puppet Modules @ Puppet Camp Seattle
2014-11-11 Multiple Approaches to Managing Puppet Modules @ Puppet Camp Seattle2014-11-11 Multiple Approaches to Managing Puppet Modules @ Puppet Camp Seattle
2014-11-11 Multiple Approaches to Managing Puppet Modules @ Puppet Camp Seattle
 
Accelerate and unify network deployment with Puppet on Juniper
Accelerate and unify network deployment with Puppet on JuniperAccelerate and unify network deployment with Puppet on Juniper
Accelerate and unify network deployment with Puppet on Juniper
 
Can you upgrade to Puppet 4.x?
Can you upgrade to Puppet 4.x?Can you upgrade to Puppet 4.x?
Can you upgrade to Puppet 4.x?
 
Code review and automated testing for Puppet code
Code review and automated testing for Puppet codeCode review and automated testing for Puppet code
Code review and automated testing for Puppet code
 
PuppetCamp SEA @ Blk 71 - Cloud Management with Puppet
PuppetCamp SEA @ Blk 71 - Cloud Management with PuppetPuppetCamp SEA @ Blk 71 - Cloud Management with Puppet
PuppetCamp SEA @ Blk 71 - Cloud Management with Puppet
 
PuppetCamp SEA 1 - Use of Puppet
PuppetCamp SEA 1 - Use of PuppetPuppetCamp SEA 1 - Use of Puppet
PuppetCamp SEA 1 - Use of Puppet
 
Puppet Data Mining
Puppet Data MiningPuppet Data Mining
Puppet Data Mining
 
PuppetCamp SEA @ Blk 71 - Nagios in under 10 mins with Puppet
PuppetCamp SEA @ Blk 71 -  Nagios in under 10 mins with PuppetPuppetCamp SEA @ Blk 71 -  Nagios in under 10 mins with Puppet
PuppetCamp SEA @ Blk 71 - Nagios in under 10 mins with Puppet
 
Monitoring in the cloud with Puppet
Monitoring in the cloud with PuppetMonitoring in the cloud with Puppet
Monitoring in the cloud with Puppet
 

Semelhante a Puppet - Instant Data Center

DevOps for Opensource Geospatial Applications
DevOps for Opensource Geospatial ApplicationsDevOps for Opensource Geospatial Applications
DevOps for Opensource Geospatial Applications
tlpinney
 

Semelhante a Puppet - Instant Data Center (20)

Create your very own Development Environment with Vagrant and Packer
Create your very own Development Environment with Vagrant and PackerCreate your very own Development Environment with Vagrant and Packer
Create your very own Development Environment with Vagrant and Packer
 
puppet @techlifecookpad
puppet @techlifecookpadpuppet @techlifecookpad
puppet @techlifecookpad
 
Docker and friends at Linux Days 2014 in Prague
Docker and friends at Linux Days 2014 in PragueDocker and friends at Linux Days 2014 in Prague
Docker and friends at Linux Days 2014 in Prague
 
Postgres the hardway
Postgres the hardwayPostgres the hardway
Postgres the hardway
 
PuppetCamp SEA 1 - Use of Puppet
PuppetCamp SEA 1 - Use of PuppetPuppetCamp SEA 1 - Use of Puppet
PuppetCamp SEA 1 - Use of Puppet
 
Preparation study of_docker - (MOSG)
Preparation study of_docker  - (MOSG)Preparation study of_docker  - (MOSG)
Preparation study of_docker - (MOSG)
 
Vagrant and CentOS 7
Vagrant and CentOS 7Vagrant and CentOS 7
Vagrant and CentOS 7
 
NetDevOps Developer Environments with Vagrant @ SCALE16x
NetDevOps Developer Environments with Vagrant @ SCALE16xNetDevOps Developer Environments with Vagrant @ SCALE16x
NetDevOps Developer Environments with Vagrant @ SCALE16x
 
Build MySQL virtual enviroment
Build MySQL virtual enviromentBuild MySQL virtual enviroment
Build MySQL virtual enviroment
 
Ruby and Rails Packaging to Production
Ruby and Rails Packaging to ProductionRuby and Rails Packaging to Production
Ruby and Rails Packaging to Production
 
Vagrant
VagrantVagrant
Vagrant
 
DevOps for Opensource Geospatial Applications
DevOps for Opensource Geospatial ApplicationsDevOps for Opensource Geospatial Applications
DevOps for Opensource Geospatial Applications
 
Virtualization with Vagrant (ua.pycon 2011)
Virtualization with Vagrant (ua.pycon 2011)Virtualization with Vagrant (ua.pycon 2011)
Virtualization with Vagrant (ua.pycon 2011)
 
Dockerizing the Hard Services: Neutron and Nova
Dockerizing the Hard Services: Neutron and NovaDockerizing the Hard Services: Neutron and Nova
Dockerizing the Hard Services: Neutron and Nova
 
LXC
LXCLXC
LXC
 
Docker
DockerDocker
Docker
 
Creating docker custom image
Creating docker custom imageCreating docker custom image
Creating docker custom image
 
Creating docker custom image
Creating docker custom imageCreating docker custom image
Creating docker custom image
 
kubernetes practice
kubernetes practicekubernetes practice
kubernetes practice
 
Taking Control of Chaos with Docker and Puppet
Taking Control of Chaos with Docker and PuppetTaking Control of Chaos with Docker and Puppet
Taking Control of Chaos with Docker and Puppet
 

Último

Último (20)

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
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
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...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
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...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 

Puppet - Instant Data Center

  • 1. Instant Data Center A Data Center on your Laptop Bryan Belanger bbelanger@azcender.com
  • 2.
  • 3. Why Developing in Your Data Center is a Bad Idea • Virtual Machines / Nodes tend to be expensive • You’ll break your nodes… lots • You can break your Puppet Master
  • 4. Do It All on your Local Box • Easy way to test and run your Puppet architecture • No overhead in maintaining dev nodes • Tear down and rebuild nodes quickly and easily • If you break the Puppet Master who cares
  • 5. The Basic Blocks http://git-scm.com http://ruby-lang.org http://vagrantup.com http://virtualbox.org
  • 6. Other Requirements • vagrant-oscar: vagrant plugin install oscar • vagrant-vbguest: vagrant plugin install vagrant-vbguest • librarian-puppet gem: gem install librarian-puppet • nokogiri gem: gem install --install-dir ~/.vagrant.d/gems nokogiri -v '1.6.4.1' • vagrant-centos7_fix: vagrant plugin install vagrant-centos7_fix • puppet gem: gem install puppet
  • 7. Other Considerations • You’ll need an i5 or better processor • You need a minimum of 8 GB • 16 GB is recommended
  • 8. Using the Oscar Plugin • boxes.yaml • Hash of boxes and their location • pe_build.yaml • Specifies location and version of Puppet Enterprise • roles.yaml • Virtual machine configuration details • vms.yaml • Ties boxes and configuration together
  • 9. boxes.yaml Finds Vagrant Boxes # Boxes # Updated: 2014-12-03 --- PT boxes: 'fs_centos-65-x64-vbox4320-nocm': Every Box has a Name ‘http://file.azcender.com/boxes/fs_centos-65-x64-vbox4320-nocm.box' 'fs_centos-7-x64-vbox4320-nocm': ‘http://file.azcender.com/boxes/fs_centos-7-x64-vbox4320-nocm.box' ‘fs_ubuntu-server-14041-x64-vbox4320-nocm': ‘http://file.azcender.com/boxes/fs_ubuntu-server-14041-x64-vbox4320-nocm.box' 'fs_win-2012r2-standard-amd64-vbox4316-nocm': 'http://file.azcender.com/boxes/fs_win-2012r2-standard-amd64-vbox4316-nocm.box' Every Box has a Location
  • 10. pe_build.yaml Downloads Puppet Enterprise --- pe_build: version: 3.3.2 download_root: "http://s3.amazonaws.com/pe-builds/released/:version" Puppet Enterprise Version
  • 11. roles.yaml Configures a Node --- roles: pe-puppet-master: vbguest: auto_update: true provider: type: virtualbox customize: Every Role has a Name Puppet command configures the - [modifyvm, !ruby/sym id, '--memory', 4096, '--cpus', 4] private_networks: - {ip: '0.0.0.0', auto_network: true} forwarded_ports: - {guest: 443, host: 8443} provisioners: - {type: hosts} - {type: pe_bootstrap, role: !ruby/sym master} - {type: shell, inline: 'ln -s -f /opt/puppet/bin/puppet /usr/bin/puppet'} - {type: puppet, manifests_path: puppet/manifests, manifest_file: site.pp, module_path: puppet/modules, options: '--verbose --debug --hiera_config /vagrant/puppet/hiera.yaml'} - {type: shell, inline: '/usr/local/bin/puppet agent -t'} master Shell script kicks the agent
  • 12. vms.yaml Glues Boxes and Roles Together --- vms: - name: master Every VM has a Name box: fs_centos-7-x64-vbox4320-nocm roles: - pe-puppet-master - name: centos0 box: fs_centos-7-x64-vbox4320-nocm roles: - pe-puppet-agent-linux - name: centos1 box: fs_centos-7-x64-vbox4320-nocm roles: - pe-puppet-agent-linux - name: windows0 box: fs_win-2012r2-standard-amd64-vbox4316-nocm roles: - pe-puppet-agent-windows Every VM Needs a Box Every VM Needs a Role
  • 13. Quick Start 1. Install Vagrant, VirtualBox, git and Ruby 2. Clone the puppet-r10k project • git clone https://github.com/azcender/puppet-r10k.git 3. Make sure you install your modules • cd puppet • librarian-puppet install 4. Change to project directory • cd puppet-r10k 5. Start the Vagrant master • vagrant up master 6. Once complete start a Puppet node • vagrant up centos0 7. Visit your new Puppet console • https://localhost:8443 • User: admin@puppetlabs.com • PW: puppetlabs
  • 14. See The Following Project and Detailed Setup https://github.com/azcender/puppet-r10k.git
  • 15. What’s Happening Oscar Downlads Puppet Oscar Installs the Puppet Master Using an Answer File The Default site.pp is Applied to the Master An Agent Node is Started The Agent Node Issues a CURL Command to Install Puppet from the Paster Master Install Agent Install
  • 16. site.pp • Install r10k • Export the hosts — Import External Ones • Install Hiera • Kick the Agent
  • 17. Special Thanks Full Frontal Ingenuity