SlideShare ist ein Scribd-Unternehmen logo
1 von 31
Downloaden Sie, um offline zu lesen
PuppetConf Portland 2011




Automated deployment With Seedbank and Puppet
           Puppetconf 2011 by Jasper Poppe
Introduction
-   Who is Jasper Poppe
-   Current position at the eBay Classifieds Group
-   eBay Classifieds Group
-   eBay Classifieds Group platforms




                             Puppetconf 2011 by Jasper Poppe
The Talk
-   Automated live installation of an infrastructure from scratch
-   Explanation and demo of Infrastucture Anywhere
-   Explanation of seedBank
-   Explanation of our Puppet Structure
-   Open source seedBank, Infrastructure anywhere and a selection of our Puppet Modules
-   There will be time for questions at the half and at the end of the talk




                           Puppetconf 2011 by Jasper Poppe
Infrastructure Anywhere




        CLouds are so 2011
     Puppetconf 2011 by Jasper Poppe
Prologue
- Infrastructure from Scratch: Live Installation




                           Puppetconf 2011 by Jasper Poppe
Terminilogy
- Overlord - An Overlord is a server which is running the core applications needed for a
fully automated infrastructure

- Minion - The Overlord deploys automatically to those servers

- Seed file - A file which provides answers to the Debian installer, seeding is the core
method used for Debian package configuration

- seedBank - This is a simple CLI tool/daemon to manage Debian and Ubuntu network in-
stallations. Since it is based on seed files it will provide the cleanest installations possible
by just using the standard Debian tools. seedBank is written by me in Python.

- Fabric - A deployment tool based on Python, in my own words it is BASH in Python with
some additional features to make deployment tasks easier.

- Infrastructure Anywhere - Some simple Fabric scripts which are the glue between seed-
Bank and Puppet, it provides the components to do fully automated deployments of a
core infrastructure from scratch in a production, virtual, cloud based or any other
environment.



                            Puppetconf 2011 by Jasper Poppe
Infrastructure Anywhere
                      fabïŹle.py



                      chicken.py



                     powerdns.py 



                     dnsmasq.py 



    vmware.py
         libvirt.py
    virtualbox.py




        Puppetconf 2011 by Jasper Poppe
Infrastructure Anywhere

                    Debian ISO



                   Infrastructure
      ISO ModiïŹed for
                     Anywhere
         Overlord Bootstrap




                 Overlay Directory




rc.local
   Seed File
      SSH Key
    Puppet Repository




                         Puppetconf 2011 by Jasper Poppe
Infrastructure Anywhere

                    Debian ISO
                                                             Overlord

                   Infrastructure
      ISO ModiïŹed for
                     Anywhere
         Overlord Bootstrap




                 Overlay Directory




rc.local
   Seed File
      SSH Key
    Puppet Repository



                                                             Minions




                         Puppetconf 2011 by Jasper Poppe
Infrastructure Anywhere
Infrastructure
  Anywhere




Overlord
  seedBank
   Gateway
    TFTP
     DNS
    DHCP
Puppetmaster
        Minions




Local Network




   Internet




                 Puppetconf 2011 by Jasper Poppe
InfraStructure Anywhere

      overlord001
          a
          c
         m
             e
                      .
           .
        .
             .


       Hostname
                                Platform
        TLD
                           Zone
    Location

- Zones and locations are used in our platform base modules

- Platform base modules configure about 95% of the machine

- Makes it easy to override settings from a production to a QA environment while still
using exactly the same Puppet code

- For now extlookup is used




                             Puppetconf 2011 by Jasper Poppe
seedbank




The Cleanest way of automated Debian and Ubuntu
        Network Installations Possible
           Puppetconf 2011 by Jasper Poppe
seedbank
-   Simplicity
-   Easy netboot file management
-   Automatically integrates ‘Debian non free firmware’ to the netboot image
-   Carefully hand crafted ready to use templated preseed files
-   Custom enable and disable hooks for easy integration with external tools
-   Support for stand alone puppet manifests which will be applied during the first boot
-   Configuration management database hooks
-   Support for templated file overlays
-   Makes it easy to do installations over serial consoles
-   Template based management of seed files
-   Separation between seed files and disk recipes
-   No NFS mounts needed, it only needs a Debian repository
-   No database backend, everything is stored in ‘pxelinux.cfg’ files




                             Puppetconf 2011 by Jasper Poppe
seedbank
- seedbank_setup

Download and manage Debian/Ubuntu netboot image(s) which are required to do a PXE
boot from the network

- seedbank

Seedbank prepares the ‘pxelinux.cfg’ files which will start the Debian installation process,
when the system boots via from the network

- seedbank_daemon

A simple multithreaded HTTP daemon which generates seed files on the fly based on
information which is stored in the ‘pxelinux.cfg’ files

After a successful installation it disables the related ‘pxelinux.cfg’ file




                             Puppetconf 2011 by Jasper Poppe
seedbank


Minion
   Network
   Debian Installer




                         Puppetconf 2011 by Jasper Poppe
seedbank


Minion
   Network
   Debian Installer
   seedBank Daemon
     Pxelinux.cfg
   Seed File




                                 Seed Template
 Disk Recipe
 Puppet Manifests
 Overlay




                         Puppetconf 2011 by Jasper Poppe
seedbank
                         ConïŹgure DNS


                        ConïŹgure DHCP


                         ConïŹgure TFTP


      wget http://infrastructureanywhere.com/seedbank.deb


                   sudo dpkg -i seedbank.deb


                sudo vi /etc/seedbank/settings.py 


                sudo /etc/init.d/seedbank restart 


          sudo seedbank_setup debian-squeeze-amd64 


sudo seedbank -r default minion001.a.c.m.e debian-squeeze-amd64 


                    reboot minion001.a.c.m.e 


          Puppetconf 2011 by Jasper Poppe
seedbank
seedbank
 -M 00:11:22:33:44:55
    -o minion
   -r default 
 -m network
   minion001.a.c.m.e
   ubuntu-natty-amd64




                                  Puppetconf 2011 by Jasper Poppe
Questions Until Now




Remember... Stupid questions do not exist
        Puppetconf 2011 by Jasper Poppe
Showtime




  ebay Classifieds Group
Datacenter suite Amsterdam
 Puppetconf 2011 by Jasper Poppe
Structuring Puppet




Just Because you want to avoid the evil faces of puppet!




               Puppetconf 2011 by Jasper Poppe
Structuring Puppet
After we discovered you could use multiple module paths in Puppet I came up with a top
down structure which is using multiple module paths

In other words

- It is not allowed to include, inherit, etc. from other modules which reside in the same
path, so every module will be isolated

- It is only allowed to include, inherit, override etc. from a higher level than the path you
are working from




                            Puppetconf 2011 by Jasper Poppe
Structuring Puppet
Problems I have taken in account with the design

- Be able to share code between different platforms in a responsible way

- Keep code as isolated as possible

- Keep dependencies as clear as possible

- Keep it as simple as simple as possible

- Give Puppet newcomers the possibility to start developing without any direct danger




                           Puppetconf 2011 by Jasper Poppe
Structuring Puppet

Shared




          Puppetconf 2011 by Jasper Poppe
Structuring Puppet

Shared




Users




          Puppetconf 2011 by Jasper Poppe
Structuring Puppet

Shared




 Users




Platform




            Puppetconf 2011 by Jasper Poppe
Structuring Puppet

Shared




 Users




Platform




ConïŹgs




            Puppetconf 2011 by Jasper Poppe
The SOurce Code
- seedBank, Infrastruture Anywhere and a selection of our Puppet modules have just been
made public

- Everything has been released under the Apache 2 license

- Currently I am the only maintainer and author of seedBank

- Still lots of room for code/documentation improvements so you are welcome to submit
patches via GitHub

- Two Git repositories at GitHub

One with the seedBank code (Infrastructure Anywhere is included in the addons directory)

The other will contain all Puppet modules used in this talk




                           Puppetconf 2011 by Jasper Poppe
The source Code




http://infrastructureanywhere.com/




     Puppetconf 2011 by Jasper Poppe
Questions




Please ask your questions
 Puppetconf 2011 by Jasper Poppe
Thanks to ...
Roalt Zijlstra - For being a mentor with his endless patience years ago while I still was a
linux noob

GJ Moed - For supporting me through the whole Pupppet process, and his bright ideas/
discussions

Danny van der Meulen - For being Danny and his faith in me becoming a senior Linux
system engineer

Armand Verstappen - For having the faith and giving the recognition to whatever I am
doing

Lex van Roon - For giving me the energy with his enthusiastic attitude, and co developing
Infrastructure Anywhere




                           Puppetconf 2011 by Jasper Poppe

Weitere Àhnliche Inhalte

Was ist angesagt?

Yocto Project introduction
Yocto Project introductionYocto Project introduction
Yocto Project introductionYi-Hsiu Hsu
 
Autobuilder2 Yocto Project Summit Lyon 2019
Autobuilder2 Yocto Project Summit Lyon 2019Autobuilder2 Yocto Project Summit Lyon 2019
Autobuilder2 Yocto Project Summit Lyon 2019Marco Cavallini
 
Marco Cavallini @ LinuxLab 2018 : Workshop Yocto Project, an automatic genera...
Marco Cavallini @ LinuxLab 2018 : Workshop Yocto Project, an automatic genera...Marco Cavallini @ LinuxLab 2018 : Workshop Yocto Project, an automatic genera...
Marco Cavallini @ LinuxLab 2018 : Workshop Yocto Project, an automatic genera...Marco Cavallini
 
The Switch as a Server - PuppetConf 2014
The Switch as a Server - PuppetConf 2014The Switch as a Server - PuppetConf 2014
The Switch as a Server - PuppetConf 2014Puppet
 
Yocto Project Dev Day Prague 2017 - Advanced class - Kernel modules with eSDK
Yocto Project Dev Day Prague 2017 - Advanced class - Kernel modules with eSDKYocto Project Dev Day Prague 2017 - Advanced class - Kernel modules with eSDK
Yocto Project Dev Day Prague 2017 - Advanced class - Kernel modules with eSDKMarco Cavallini
 
Puppet - Configuration Management Made Eas(ier)
Puppet - Configuration Management Made Eas(ier)Puppet - Configuration Management Made Eas(ier)
Puppet - Configuration Management Made Eas(ier)Aaron Bernstein
 
BKK16-212: What's broken on ARM64?
BKK16-212: What's broken on ARM64?BKK16-212: What's broken on ARM64?
BKK16-212: What's broken on ARM64?Linaro
 
aptly: Debian repository management tool
aptly: Debian repository management toolaptly: Debian repository management tool
aptly: Debian repository management toolAndrey Smirnov
 
Puppet for SysAdmins
Puppet for SysAdminsPuppet for SysAdmins
Puppet for SysAdminsPuppet
 
OSDC 2014 ONIE by Nat Morris
OSDC 2014 ONIE by Nat MorrisOSDC 2014 ONIE by Nat Morris
OSDC 2014 ONIE by Nat MorrisCumulus Networks
 
Introduction to OpenBricks: an Embedded Linux Framework
Introduction to OpenBricks: an Embedded Linux FrameworkIntroduction to OpenBricks: an Embedded Linux Framework
Introduction to OpenBricks: an Embedded Linux FrameworkBenjamin Zores
 
Deploying and maintaining your software with RPM/APT
Deploying and maintaining your software with RPM/APTDeploying and maintaining your software with RPM/APT
Deploying and maintaining your software with RPM/APTJoshua Thijssen
 
Software update for embedded systems - elce2014
Software update for embedded systems - elce2014Software update for embedded systems - elce2014
Software update for embedded systems - elce2014Stefano Babic
 
CloudOpen 2014 - Extending Cloud Automation, When OpenStack Meets Ansible
CloudOpen 2014 - Extending Cloud Automation, When OpenStack Meets AnsibleCloudOpen 2014 - Extending Cloud Automation, When OpenStack Meets Ansible
CloudOpen 2014 - Extending Cloud Automation, When OpenStack Meets AnsibleBenjamin Zores
 
Workshop: Know Before You Push 'Go': Using the Beaker Acceptance Test Framewo...
Workshop: Know Before You Push 'Go': Using the Beaker Acceptance Test Framewo...Workshop: Know Before You Push 'Go': Using the Beaker Acceptance Test Framewo...
Workshop: Know Before You Push 'Go': Using the Beaker Acceptance Test Framewo...Puppet
 
Software update for IoT Embedded World 2017
Software update for IoT Embedded World 2017Software update for IoT Embedded World 2017
Software update for IoT Embedded World 2017Chris Simmonds
 
Distro Recipes 2013: What’s new in gcc 4.8?
Distro Recipes 2013: What’s new in gcc 4.8?Distro Recipes 2013: What’s new in gcc 4.8?
Distro Recipes 2013: What’s new in gcc 4.8?Anne Nicolas
 
Raspberry pi Board Hardware & Software Setup
Raspberry pi Board Hardware & Software SetupRaspberry pi Board Hardware & Software Setup
Raspberry pi Board Hardware & Software SetupRANAALIMAJEEDRAJPUT
 
Linux field-update-2015
Linux field-update-2015Linux field-update-2015
Linux field-update-2015Chris Simmonds
 

Was ist angesagt? (20)

Yocto Project introduction
Yocto Project introductionYocto Project introduction
Yocto Project introduction
 
Autobuilder2 Yocto Project Summit Lyon 2019
Autobuilder2 Yocto Project Summit Lyon 2019Autobuilder2 Yocto Project Summit Lyon 2019
Autobuilder2 Yocto Project Summit Lyon 2019
 
Marco Cavallini @ LinuxLab 2018 : Workshop Yocto Project, an automatic genera...
Marco Cavallini @ LinuxLab 2018 : Workshop Yocto Project, an automatic genera...Marco Cavallini @ LinuxLab 2018 : Workshop Yocto Project, an automatic genera...
Marco Cavallini @ LinuxLab 2018 : Workshop Yocto Project, an automatic genera...
 
The Switch as a Server - PuppetConf 2014
The Switch as a Server - PuppetConf 2014The Switch as a Server - PuppetConf 2014
The Switch as a Server - PuppetConf 2014
 
Yocto Project Dev Day Prague 2017 - Advanced class - Kernel modules with eSDK
Yocto Project Dev Day Prague 2017 - Advanced class - Kernel modules with eSDKYocto Project Dev Day Prague 2017 - Advanced class - Kernel modules with eSDK
Yocto Project Dev Day Prague 2017 - Advanced class - Kernel modules with eSDK
 
Puppet - Configuration Management Made Eas(ier)
Puppet - Configuration Management Made Eas(ier)Puppet - Configuration Management Made Eas(ier)
Puppet - Configuration Management Made Eas(ier)
 
BKK16-212: What's broken on ARM64?
BKK16-212: What's broken on ARM64?BKK16-212: What's broken on ARM64?
BKK16-212: What's broken on ARM64?
 
Divorcing System
Divorcing SystemDivorcing System
Divorcing System
 
aptly: Debian repository management tool
aptly: Debian repository management toolaptly: Debian repository management tool
aptly: Debian repository management tool
 
Puppet for SysAdmins
Puppet for SysAdminsPuppet for SysAdmins
Puppet for SysAdmins
 
OSDC 2014 ONIE by Nat Morris
OSDC 2014 ONIE by Nat MorrisOSDC 2014 ONIE by Nat Morris
OSDC 2014 ONIE by Nat Morris
 
Introduction to OpenBricks: an Embedded Linux Framework
Introduction to OpenBricks: an Embedded Linux FrameworkIntroduction to OpenBricks: an Embedded Linux Framework
Introduction to OpenBricks: an Embedded Linux Framework
 
Deploying and maintaining your software with RPM/APT
Deploying and maintaining your software with RPM/APTDeploying and maintaining your software with RPM/APT
Deploying and maintaining your software with RPM/APT
 
Software update for embedded systems - elce2014
Software update for embedded systems - elce2014Software update for embedded systems - elce2014
Software update for embedded systems - elce2014
 
CloudOpen 2014 - Extending Cloud Automation, When OpenStack Meets Ansible
CloudOpen 2014 - Extending Cloud Automation, When OpenStack Meets AnsibleCloudOpen 2014 - Extending Cloud Automation, When OpenStack Meets Ansible
CloudOpen 2014 - Extending Cloud Automation, When OpenStack Meets Ansible
 
Workshop: Know Before You Push 'Go': Using the Beaker Acceptance Test Framewo...
Workshop: Know Before You Push 'Go': Using the Beaker Acceptance Test Framewo...Workshop: Know Before You Push 'Go': Using the Beaker Acceptance Test Framewo...
Workshop: Know Before You Push 'Go': Using the Beaker Acceptance Test Framewo...
 
Software update for IoT Embedded World 2017
Software update for IoT Embedded World 2017Software update for IoT Embedded World 2017
Software update for IoT Embedded World 2017
 
Distro Recipes 2013: What’s new in gcc 4.8?
Distro Recipes 2013: What’s new in gcc 4.8?Distro Recipes 2013: What’s new in gcc 4.8?
Distro Recipes 2013: What’s new in gcc 4.8?
 
Raspberry pi Board Hardware & Software Setup
Raspberry pi Board Hardware & Software SetupRaspberry pi Board Hardware & Software Setup
Raspberry pi Board Hardware & Software Setup
 
Linux field-update-2015
Linux field-update-2015Linux field-update-2015
Linux field-update-2015
 

Andere mochten auch

Puppet: State of the Community 2012
Puppet: State of the Community 2012Puppet: State of the Community 2012
Puppet: State of the Community 2012Puppet
 
Dave Anderson of Ammeon at PuppetCamp Dublin '12
Dave Anderson of Ammeon at PuppetCamp Dublin '12Dave Anderson of Ammeon at PuppetCamp Dublin '12
Dave Anderson of Ammeon at PuppetCamp Dublin '12Puppet
 
Puppet Camp Berlin 2014 Closing Keynote: Next steps for doing more awesome th...
Puppet Camp Berlin 2014 Closing Keynote: Next steps for doing more awesome th...Puppet Camp Berlin 2014 Closing Keynote: Next steps for doing more awesome th...
Puppet Camp Berlin 2014 Closing Keynote: Next steps for doing more awesome th...Puppet
 
Puppet Camp Tokyo 2014: Why we stopped using Puppet Agent Daemon
Puppet Camp Tokyo 2014: Why we stopped using Puppet Agent Daemon Puppet Camp Tokyo 2014: Why we stopped using Puppet Agent Daemon
Puppet Camp Tokyo 2014: Why we stopped using Puppet Agent Daemon Puppet
 
State of Puppet
State of PuppetState of Puppet
State of PuppetPuppet
 
Puppeting in a Highly Regulated Industry
Puppeting in a Highly Regulated IndustryPuppeting in a Highly Regulated Industry
Puppeting in a Highly Regulated IndustryPuppet
 
Razor & Puppet: The Perfect Marriage?
Razor & Puppet: The Perfect Marriage?Razor & Puppet: The Perfect Marriage?
Razor & Puppet: The Perfect Marriage?Puppet
 
Doing It Wrong with Puppet -
Doing It Wrong with Puppet - Doing It Wrong with Puppet -
Doing It Wrong with Puppet - Puppet
 
Puppet @ Nedap
Puppet @ NedapPuppet @ Nedap
Puppet @ NedapPuppet
 

Andere mochten auch (9)

Puppet: State of the Community 2012
Puppet: State of the Community 2012Puppet: State of the Community 2012
Puppet: State of the Community 2012
 
Dave Anderson of Ammeon at PuppetCamp Dublin '12
Dave Anderson of Ammeon at PuppetCamp Dublin '12Dave Anderson of Ammeon at PuppetCamp Dublin '12
Dave Anderson of Ammeon at PuppetCamp Dublin '12
 
Puppet Camp Berlin 2014 Closing Keynote: Next steps for doing more awesome th...
Puppet Camp Berlin 2014 Closing Keynote: Next steps for doing more awesome th...Puppet Camp Berlin 2014 Closing Keynote: Next steps for doing more awesome th...
Puppet Camp Berlin 2014 Closing Keynote: Next steps for doing more awesome th...
 
Puppet Camp Tokyo 2014: Why we stopped using Puppet Agent Daemon
Puppet Camp Tokyo 2014: Why we stopped using Puppet Agent Daemon Puppet Camp Tokyo 2014: Why we stopped using Puppet Agent Daemon
Puppet Camp Tokyo 2014: Why we stopped using Puppet Agent Daemon
 
State of Puppet
State of PuppetState of Puppet
State of Puppet
 
Puppeting in a Highly Regulated Industry
Puppeting in a Highly Regulated IndustryPuppeting in a Highly Regulated Industry
Puppeting in a Highly Regulated Industry
 
Razor & Puppet: The Perfect Marriage?
Razor & Puppet: The Perfect Marriage?Razor & Puppet: The Perfect Marriage?
Razor & Puppet: The Perfect Marriage?
 
Doing It Wrong with Puppet -
Doing It Wrong with Puppet - Doing It Wrong with Puppet -
Doing It Wrong with Puppet -
 
Puppet @ Nedap
Puppet @ NedapPuppet @ Nedap
Puppet @ Nedap
 

Ähnlich wie Puppetconf2011 small

5 minute intro to virtualenv
5 minute intro to virtualenv5 minute intro to virtualenv
5 minute intro to virtualenvamenasse
 
RaspberryPi + IoT - Lab to switch on and off a light bulb
RaspberryPi + IoT - Lab to switch on and off a light bulbRaspberryPi + IoT - Lab to switch on and off a light bulb
RaspberryPi + IoT - Lab to switch on and off a light bulbJeff Prestes
 
Openstack win final
Openstack win finalOpenstack win final
Openstack win finalJordan Rinke
 
Using Puppet for Deploying Hyper-V OpenStack Compute Nodes - PuppetConf 2013
Using Puppet for Deploying Hyper-V OpenStack Compute Nodes - PuppetConf 2013Using Puppet for Deploying Hyper-V OpenStack Compute Nodes - PuppetConf 2013
Using Puppet for Deploying Hyper-V OpenStack Compute Nodes - PuppetConf 2013Puppet
 
Debugging LAMP Apps on Linux/UNIX Using Open Source Tools - Jess Portnot - OS...
Debugging LAMP Apps on Linux/UNIX Using Open Source Tools - Jess Portnot - OS...Debugging LAMP Apps on Linux/UNIX Using Open Source Tools - Jess Portnot - OS...
Debugging LAMP Apps on Linux/UNIX Using Open Source Tools - Jess Portnot - OS...Zohar Babin
 
Building Docker images with Puppet
Building Docker images with PuppetBuilding Docker images with Puppet
Building Docker images with PuppetNick Jones
 
Instalando Cacti no CentOS 5
Instalando Cacti no CentOS 5Instalando Cacti no CentOS 5
Instalando Cacti no CentOS 5Carlos Eduardo
 
BKK16-406 Ubuntu Core - a snappy platform for Embedded, IoT and 96boards!
BKK16-406 Ubuntu Core - a snappy platform for Embedded, IoT and 96boards!BKK16-406 Ubuntu Core - a snappy platform for Embedded, IoT and 96boards!
BKK16-406 Ubuntu Core - a snappy platform for Embedded, IoT and 96boards!Linaro
 
eBPF — Divulging The Hidden Super Power.pdf
eBPF — Divulging The Hidden Super Power.pdfeBPF — Divulging The Hidden Super Power.pdf
eBPF — Divulging The Hidden Super Power.pdfSGBSeo
 
Apache Bigtop and ARM64 / AArch64 - Empowering Big Data Everywhere
Apache Bigtop and ARM64 / AArch64 - Empowering Big Data EverywhereApache Bigtop and ARM64 / AArch64 - Empowering Big Data Everywhere
Apache Bigtop and ARM64 / AArch64 - Empowering Big Data EverywhereGanesh Raju
 
How to deploy PHP projects with docker
How to deploy PHP projects with dockerHow to deploy PHP projects with docker
How to deploy PHP projects with dockerRuoshi Ling
 
PuppetConf 2014 Killer R10K Workflow With Notes
PuppetConf 2014 Killer R10K Workflow With NotesPuppetConf 2014 Killer R10K Workflow With Notes
PuppetConf 2014 Killer R10K Workflow With NotesPhil Zimmerman
 
Puppet Camp Boston 2014: Continuous Integration for Hyper-V with Puppet (Begi...
Puppet Camp Boston 2014: Continuous Integration for Hyper-V with Puppet (Begi...Puppet Camp Boston 2014: Continuous Integration for Hyper-V with Puppet (Begi...
Puppet Camp Boston 2014: Continuous Integration for Hyper-V with Puppet (Begi...Puppet
 
Getting Started with Pelican
Getting Started with PelicanGetting Started with Pelican
Getting Started with PelicanNazrul Kamaruddin
 
Java Device I/O at Raspberry PI to Build a Candy Vending Machine
Java Device I/O at Raspberry PI to Build a Candy Vending MachineJava Device I/O at Raspberry PI to Build a Candy Vending Machine
Java Device I/O at Raspberry PI to Build a Candy Vending MachineJeff Prestes
 
MongoSV 2011
MongoSV 2011MongoSV 2011
MongoSV 2011Juan Negron
 
Kernel Recipes 2013 - Easy rootfs using Buildroot
Kernel Recipes 2013 - Easy rootfs using BuildrootKernel Recipes 2013 - Easy rootfs using Buildroot
Kernel Recipes 2013 - Easy rootfs using BuildrootAnne Nicolas
 
Iteratively introducing Puppet technologies in the brownfield; Jeffrey Miller
Iteratively introducing Puppet technologies in the brownfield; Jeffrey MillerIteratively introducing Puppet technologies in the brownfield; Jeffrey Miller
Iteratively introducing Puppet technologies in the brownfield; Jeffrey MillerPuppet
 
Developing IT infrastructures with Puppet
Developing IT infrastructures with PuppetDeveloping IT infrastructures with Puppet
Developing IT infrastructures with PuppetAlessandro Franceschi
 

Ähnlich wie Puppetconf2011 small (20)

5 minute intro to virtualenv
5 minute intro to virtualenv5 minute intro to virtualenv
5 minute intro to virtualenv
 
RaspberryPi + IoT - Lab to switch on and off a light bulb
RaspberryPi + IoT - Lab to switch on and off a light bulbRaspberryPi + IoT - Lab to switch on and off a light bulb
RaspberryPi + IoT - Lab to switch on and off a light bulb
 
Openstack win final
Openstack win finalOpenstack win final
Openstack win final
 
Using Puppet for Deploying Hyper-V OpenStack Compute Nodes - PuppetConf 2013
Using Puppet for Deploying Hyper-V OpenStack Compute Nodes - PuppetConf 2013Using Puppet for Deploying Hyper-V OpenStack Compute Nodes - PuppetConf 2013
Using Puppet for Deploying Hyper-V OpenStack Compute Nodes - PuppetConf 2013
 
Debugging LAMP Apps on Linux/UNIX Using Open Source Tools - Jess Portnot - OS...
Debugging LAMP Apps on Linux/UNIX Using Open Source Tools - Jess Portnot - OS...Debugging LAMP Apps on Linux/UNIX Using Open Source Tools - Jess Portnot - OS...
Debugging LAMP Apps on Linux/UNIX Using Open Source Tools - Jess Portnot - OS...
 
Building Docker images with Puppet
Building Docker images with PuppetBuilding Docker images with Puppet
Building Docker images with Puppet
 
Instalando Cacti no CentOS 5
Instalando Cacti no CentOS 5Instalando Cacti no CentOS 5
Instalando Cacti no CentOS 5
 
BKK16-406 Ubuntu Core - a snappy platform for Embedded, IoT and 96boards!
BKK16-406 Ubuntu Core - a snappy platform for Embedded, IoT and 96boards!BKK16-406 Ubuntu Core - a snappy platform for Embedded, IoT and 96boards!
BKK16-406 Ubuntu Core - a snappy platform for Embedded, IoT and 96boards!
 
eBPF — Divulging The Hidden Super Power.pdf
eBPF — Divulging The Hidden Super Power.pdfeBPF — Divulging The Hidden Super Power.pdf
eBPF — Divulging The Hidden Super Power.pdf
 
Apache Bigtop and ARM64 / AArch64 - Empowering Big Data Everywhere
Apache Bigtop and ARM64 / AArch64 - Empowering Big Data EverywhereApache Bigtop and ARM64 / AArch64 - Empowering Big Data Everywhere
Apache Bigtop and ARM64 / AArch64 - Empowering Big Data Everywhere
 
How to deploy PHP projects with docker
How to deploy PHP projects with dockerHow to deploy PHP projects with docker
How to deploy PHP projects with docker
 
PuppetConf 2014 Killer R10K Workflow With Notes
PuppetConf 2014 Killer R10K Workflow With NotesPuppetConf 2014 Killer R10K Workflow With Notes
PuppetConf 2014 Killer R10K Workflow With Notes
 
Puppet Camp Boston 2014: Continuous Integration for Hyper-V with Puppet (Begi...
Puppet Camp Boston 2014: Continuous Integration for Hyper-V with Puppet (Begi...Puppet Camp Boston 2014: Continuous Integration for Hyper-V with Puppet (Begi...
Puppet Camp Boston 2014: Continuous Integration for Hyper-V with Puppet (Begi...
 
Getting Started with Pelican
Getting Started with PelicanGetting Started with Pelican
Getting Started with Pelican
 
Java Device I/O at Raspberry PI to Build a Candy Vending Machine
Java Device I/O at Raspberry PI to Build a Candy Vending MachineJava Device I/O at Raspberry PI to Build a Candy Vending Machine
Java Device I/O at Raspberry PI to Build a Candy Vending Machine
 
Nrpe
NrpeNrpe
Nrpe
 
MongoSV 2011
MongoSV 2011MongoSV 2011
MongoSV 2011
 
Kernel Recipes 2013 - Easy rootfs using Buildroot
Kernel Recipes 2013 - Easy rootfs using BuildrootKernel Recipes 2013 - Easy rootfs using Buildroot
Kernel Recipes 2013 - Easy rootfs using Buildroot
 
Iteratively introducing Puppet technologies in the brownfield; Jeffrey Miller
Iteratively introducing Puppet technologies in the brownfield; Jeffrey MillerIteratively introducing Puppet technologies in the brownfield; Jeffrey Miller
Iteratively introducing Puppet technologies in the brownfield; Jeffrey Miller
 
Developing IT infrastructures with Puppet
Developing IT infrastructures with PuppetDeveloping IT infrastructures with Puppet
Developing IT infrastructures with Puppet
 

Mehr von Puppet

Puppet camp2021 testing modules and controlrepo
Puppet camp2021 testing modules and controlrepoPuppet camp2021 testing modules and controlrepo
Puppet camp2021 testing modules and controlrepoPuppet
 
Puppetcamp r10kyaml
Puppetcamp r10kyamlPuppetcamp r10kyaml
Puppetcamp r10kyamlPuppet
 
2021 04-15 operational verification (with notes)
2021 04-15 operational verification (with notes)2021 04-15 operational verification (with notes)
2021 04-15 operational verification (with notes)Puppet
 
Puppet camp vscode
Puppet camp vscodePuppet camp vscode
Puppet camp vscodePuppet
 
Modules of the twenties
Modules of the twentiesModules of the twenties
Modules of the twentiesPuppet
 
Applying Roles and Profiles method to compliance code
Applying Roles and Profiles method to compliance codeApplying Roles and Profiles method to compliance code
Applying Roles and Profiles method to compliance codePuppet
 
KGI compliance as-code approach
KGI compliance as-code approachKGI compliance as-code approach
KGI compliance as-code approachPuppet
 
Enforce compliance policy with model-driven automation
Enforce compliance policy with model-driven automationEnforce compliance policy with model-driven automation
Enforce compliance policy with model-driven automationPuppet
 
Keynote: Puppet camp compliance
Keynote: Puppet camp complianceKeynote: Puppet camp compliance
Keynote: Puppet camp compliancePuppet
 
Automating it management with Puppet + ServiceNow
Automating it management with Puppet + ServiceNowAutomating it management with Puppet + ServiceNow
Automating it management with Puppet + ServiceNowPuppet
 
Puppet: The best way to harden Windows
Puppet: The best way to harden WindowsPuppet: The best way to harden Windows
Puppet: The best way to harden WindowsPuppet
 
Simplified Patch Management with Puppet - Oct. 2020
Simplified Patch Management with Puppet - Oct. 2020Simplified Patch Management with Puppet - Oct. 2020
Simplified Patch Management with Puppet - Oct. 2020Puppet
 
Accelerating azure adoption with puppet
Accelerating azure adoption with puppetAccelerating azure adoption with puppet
Accelerating azure adoption with puppetPuppet
 
Puppet catalog Diff; Raphael Pinson
Puppet catalog Diff; Raphael PinsonPuppet catalog Diff; Raphael Pinson
Puppet catalog Diff; Raphael PinsonPuppet
 
ServiceNow and Puppet- better together, Kevin Reeuwijk
ServiceNow and Puppet- better together, Kevin ReeuwijkServiceNow and Puppet- better together, Kevin Reeuwijk
ServiceNow and Puppet- better together, Kevin ReeuwijkPuppet
 
Take control of your dev ops dumping ground
Take control of your  dev ops dumping groundTake control of your  dev ops dumping ground
Take control of your dev ops dumping groundPuppet
 
100% Puppet Cloud Deployment of Legacy Software
100% Puppet Cloud Deployment of Legacy Software100% Puppet Cloud Deployment of Legacy Software
100% Puppet Cloud Deployment of Legacy SoftwarePuppet
 
Puppet User Group
Puppet User GroupPuppet User Group
Puppet User GroupPuppet
 
Continuous Compliance and DevSecOps
Continuous Compliance and DevSecOpsContinuous Compliance and DevSecOps
Continuous Compliance and DevSecOpsPuppet
 
The Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick Maludy
The Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick MaludyThe Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick Maludy
The Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick MaludyPuppet
 

Mehr von Puppet (20)

Puppet camp2021 testing modules and controlrepo
Puppet camp2021 testing modules and controlrepoPuppet camp2021 testing modules and controlrepo
Puppet camp2021 testing modules and controlrepo
 
Puppetcamp r10kyaml
Puppetcamp r10kyamlPuppetcamp r10kyaml
Puppetcamp r10kyaml
 
2021 04-15 operational verification (with notes)
2021 04-15 operational verification (with notes)2021 04-15 operational verification (with notes)
2021 04-15 operational verification (with notes)
 
Puppet camp vscode
Puppet camp vscodePuppet camp vscode
Puppet camp vscode
 
Modules of the twenties
Modules of the twentiesModules of the twenties
Modules of the twenties
 
Applying Roles and Profiles method to compliance code
Applying Roles and Profiles method to compliance codeApplying Roles and Profiles method to compliance code
Applying Roles and Profiles method to compliance code
 
KGI compliance as-code approach
KGI compliance as-code approachKGI compliance as-code approach
KGI compliance as-code approach
 
Enforce compliance policy with model-driven automation
Enforce compliance policy with model-driven automationEnforce compliance policy with model-driven automation
Enforce compliance policy with model-driven automation
 
Keynote: Puppet camp compliance
Keynote: Puppet camp complianceKeynote: Puppet camp compliance
Keynote: Puppet camp compliance
 
Automating it management with Puppet + ServiceNow
Automating it management with Puppet + ServiceNowAutomating it management with Puppet + ServiceNow
Automating it management with Puppet + ServiceNow
 
Puppet: The best way to harden Windows
Puppet: The best way to harden WindowsPuppet: The best way to harden Windows
Puppet: The best way to harden Windows
 
Simplified Patch Management with Puppet - Oct. 2020
Simplified Patch Management with Puppet - Oct. 2020Simplified Patch Management with Puppet - Oct. 2020
Simplified Patch Management with Puppet - Oct. 2020
 
Accelerating azure adoption with puppet
Accelerating azure adoption with puppetAccelerating azure adoption with puppet
Accelerating azure adoption with puppet
 
Puppet catalog Diff; Raphael Pinson
Puppet catalog Diff; Raphael PinsonPuppet catalog Diff; Raphael Pinson
Puppet catalog Diff; Raphael Pinson
 
ServiceNow and Puppet- better together, Kevin Reeuwijk
ServiceNow and Puppet- better together, Kevin ReeuwijkServiceNow and Puppet- better together, Kevin Reeuwijk
ServiceNow and Puppet- better together, Kevin Reeuwijk
 
Take control of your dev ops dumping ground
Take control of your  dev ops dumping groundTake control of your  dev ops dumping ground
Take control of your dev ops dumping ground
 
100% Puppet Cloud Deployment of Legacy Software
100% Puppet Cloud Deployment of Legacy Software100% Puppet Cloud Deployment of Legacy Software
100% Puppet Cloud Deployment of Legacy Software
 
Puppet User Group
Puppet User GroupPuppet User Group
Puppet User Group
 
Continuous Compliance and DevSecOps
Continuous Compliance and DevSecOpsContinuous Compliance and DevSecOps
Continuous Compliance and DevSecOps
 
The Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick Maludy
The Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick MaludyThe Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick Maludy
The Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick Maludy
 

KĂŒrzlich hochgeladen

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 DevelopmentsTrustArc
 
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 educationjfdjdjcjdnsjd
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbuapidays
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
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...apidays
 
Navi Mumbai Call Girls đŸ„° 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls đŸ„° 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls đŸ„° 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls đŸ„° 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
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...Miguel AraĂșjo
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
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 Scriptwesley chun
 
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 DiscoveryTrustArc
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 

KĂŒrzlich hochgeladen (20)

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
 
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
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
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...
 
Navi Mumbai Call Girls đŸ„° 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls đŸ„° 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls đŸ„° 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls đŸ„° 8617370543 Service Offer VIP Hot Model
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
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...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
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
 
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
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 

Puppetconf2011 small

  • 1. PuppetConf Portland 2011 Automated deployment With Seedbank and Puppet Puppetconf 2011 by Jasper Poppe
  • 2. Introduction - Who is Jasper Poppe - Current position at the eBay Classifieds Group - eBay Classifieds Group - eBay Classifieds Group platforms Puppetconf 2011 by Jasper Poppe
  • 3. The Talk - Automated live installation of an infrastructure from scratch - Explanation and demo of Infrastucture Anywhere - Explanation of seedBank - Explanation of our Puppet Structure - Open source seedBank, Infrastructure anywhere and a selection of our Puppet Modules - There will be time for questions at the half and at the end of the talk Puppetconf 2011 by Jasper Poppe
  • 4. Infrastructure Anywhere CLouds are so 2011 Puppetconf 2011 by Jasper Poppe
  • 5. Prologue - Infrastructure from Scratch: Live Installation Puppetconf 2011 by Jasper Poppe
  • 6. Terminilogy - Overlord - An Overlord is a server which is running the core applications needed for a fully automated infrastructure - Minion - The Overlord deploys automatically to those servers - Seed file - A file which provides answers to the Debian installer, seeding is the core method used for Debian package configuration - seedBank - This is a simple CLI tool/daemon to manage Debian and Ubuntu network in- stallations. Since it is based on seed files it will provide the cleanest installations possible by just using the standard Debian tools. seedBank is written by me in Python. - Fabric - A deployment tool based on Python, in my own words it is BASH in Python with some additional features to make deployment tasks easier. - Infrastructure Anywhere - Some simple Fabric scripts which are the glue between seed- Bank and Puppet, it provides the components to do fully automated deployments of a core infrastructure from scratch in a production, virtual, cloud based or any other environment. Puppetconf 2011 by Jasper Poppe
  • 7. Infrastructure Anywhere fabïŹle.py chicken.py powerdns.py dnsmasq.py vmware.py libvirt.py virtualbox.py Puppetconf 2011 by Jasper Poppe
  • 8. Infrastructure Anywhere Debian ISO Infrastructure ISO ModiïŹed for Anywhere Overlord Bootstrap Overlay Directory rc.local Seed File SSH Key Puppet Repository Puppetconf 2011 by Jasper Poppe
  • 9. Infrastructure Anywhere Debian ISO Overlord Infrastructure ISO ModiïŹed for Anywhere Overlord Bootstrap Overlay Directory rc.local Seed File SSH Key Puppet Repository Minions Puppetconf 2011 by Jasper Poppe
  • 10. Infrastructure Anywhere Infrastructure Anywhere Overlord seedBank Gateway TFTP DNS DHCP Puppetmaster Minions Local Network Internet Puppetconf 2011 by Jasper Poppe
  • 11. InfraStructure Anywhere overlord001 a c m e . . . . Hostname Platform TLD Zone Location - Zones and locations are used in our platform base modules - Platform base modules configure about 95% of the machine - Makes it easy to override settings from a production to a QA environment while still using exactly the same Puppet code - For now extlookup is used Puppetconf 2011 by Jasper Poppe
  • 12. seedbank The Cleanest way of automated Debian and Ubuntu Network Installations Possible Puppetconf 2011 by Jasper Poppe
  • 13. seedbank - Simplicity - Easy netboot file management - Automatically integrates ‘Debian non free firmware’ to the netboot image - Carefully hand crafted ready to use templated preseed files - Custom enable and disable hooks for easy integration with external tools - Support for stand alone puppet manifests which will be applied during the first boot - Configuration management database hooks - Support for templated file overlays - Makes it easy to do installations over serial consoles - Template based management of seed files - Separation between seed files and disk recipes - No NFS mounts needed, it only needs a Debian repository - No database backend, everything is stored in ‘pxelinux.cfg’ files Puppetconf 2011 by Jasper Poppe
  • 14. seedbank - seedbank_setup Download and manage Debian/Ubuntu netboot image(s) which are required to do a PXE boot from the network - seedbank Seedbank prepares the ‘pxelinux.cfg’ files which will start the Debian installation process, when the system boots via from the network - seedbank_daemon A simple multithreaded HTTP daemon which generates seed files on the fly based on information which is stored in the ‘pxelinux.cfg’ files After a successful installation it disables the related ‘pxelinux.cfg’ file Puppetconf 2011 by Jasper Poppe
  • 15. seedbank Minion Network Debian Installer Puppetconf 2011 by Jasper Poppe
  • 16. seedbank Minion Network Debian Installer seedBank Daemon Pxelinux.cfg Seed File Seed Template Disk Recipe Puppet Manifests Overlay Puppetconf 2011 by Jasper Poppe
  • 17. seedbank ConïŹgure DNS ConïŹgure DHCP ConïŹgure TFTP wget http://infrastructureanywhere.com/seedbank.deb sudo dpkg -i seedbank.deb sudo vi /etc/seedbank/settings.py sudo /etc/init.d/seedbank restart sudo seedbank_setup debian-squeeze-amd64 sudo seedbank -r default minion001.a.c.m.e debian-squeeze-amd64 reboot minion001.a.c.m.e Puppetconf 2011 by Jasper Poppe
  • 18. seedbank seedbank -M 00:11:22:33:44:55 -o minion -r default -m network minion001.a.c.m.e ubuntu-natty-amd64 Puppetconf 2011 by Jasper Poppe
  • 19. Questions Until Now Remember... Stupid questions do not exist Puppetconf 2011 by Jasper Poppe
  • 20. Showtime ebay Classifieds Group Datacenter suite Amsterdam Puppetconf 2011 by Jasper Poppe
  • 21. Structuring Puppet Just Because you want to avoid the evil faces of puppet! Puppetconf 2011 by Jasper Poppe
  • 22. Structuring Puppet After we discovered you could use multiple module paths in Puppet I came up with a top down structure which is using multiple module paths In other words - It is not allowed to include, inherit, etc. from other modules which reside in the same path, so every module will be isolated - It is only allowed to include, inherit, override etc. from a higher level than the path you are working from Puppetconf 2011 by Jasper Poppe
  • 23. Structuring Puppet Problems I have taken in account with the design - Be able to share code between different platforms in a responsible way - Keep code as isolated as possible - Keep dependencies as clear as possible - Keep it as simple as simple as possible - Give Puppet newcomers the possibility to start developing without any direct danger Puppetconf 2011 by Jasper Poppe
  • 24. Structuring Puppet Shared Puppetconf 2011 by Jasper Poppe
  • 25. Structuring Puppet Shared Users Puppetconf 2011 by Jasper Poppe
  • 26. Structuring Puppet Shared Users Platform Puppetconf 2011 by Jasper Poppe
  • 27. Structuring Puppet Shared Users Platform ConïŹgs Puppetconf 2011 by Jasper Poppe
  • 28. The SOurce Code - seedBank, Infrastruture Anywhere and a selection of our Puppet modules have just been made public - Everything has been released under the Apache 2 license - Currently I am the only maintainer and author of seedBank - Still lots of room for code/documentation improvements so you are welcome to submit patches via GitHub - Two Git repositories at GitHub One with the seedBank code (Infrastructure Anywhere is included in the addons directory) The other will contain all Puppet modules used in this talk Puppetconf 2011 by Jasper Poppe
  • 29. The source Code http://infrastructureanywhere.com/ Puppetconf 2011 by Jasper Poppe
  • 30. Questions Please ask your questions Puppetconf 2011 by Jasper Poppe
  • 31. Thanks to ... Roalt Zijlstra - For being a mentor with his endless patience years ago while I still was a linux noob GJ Moed - For supporting me through the whole Pupppet process, and his bright ideas/ discussions Danny van der Meulen - For being Danny and his faith in me becoming a senior Linux system engineer Armand Verstappen - For having the faith and giving the recognition to whatever I am doing Lex van Roon - For giving me the energy with his enthusiastic attitude, and co developing Infrastructure Anywhere Puppetconf 2011 by Jasper Poppe