by Walter Heck (@walterheck) on Friday, February 19, 2016

+6
Vote on this proposal
Status: Confirmed & Scheduled
View session in schedule
Section
Workshop

Technical level
Advanced

Objective

The objective of this workshop is to show attendees how to run a puppet setup in a production environment. The workshop will include setting up a puppet code respository from scratch, checking it into a git repository and making sure it can be deployed properly.

Description

In this workshop we’ll be going through some simple exercises to set up and deploy open source puppet ready for a real world deployment. Git, hiera, r10k, all with best practices and in an extensible way. Participants are expected to have a basic working knowledge of puppet so they can get the best out of this workshop. We’ll deal with any questions and concerns as we go through our exercises, unless the topic requires more time or is not in scope for the session at which point we’ll defer it to the end of the session.

The goal of this session is to configure a proper production-ready repository. An outline of the session is as follows:

Total duration: 6 hours

Introduction (30 minutes)

  • Welcome

  • Overview of the session

  • Round of introductions

  • Intro to puppet

Setup environment (60 minutes)

  • Bring up the virtualbox machine

  • install puppet server

  • install puppet agent

  • create empty git repository

R10k (45 minutes)

  • Puppetfile

  • git branches

  • Adding modules from puppet forge

  • deploying from development through production

Roles and profiles (60 minutes)

  • introduction to roles

  • creating your first role

  • introduction to profiles

  • creating your first profile

Hiera (45 minutes)

  • setting up hiera.yaml

  • what to add to hiera

  • the hiera() function

  • automatic databinding

Final exercise (1,5 hours)

  • create a real world production example

Q&A Time (30 minutes)

Requirements

You should have a basic idea of puppet, know what git is and be able to manage yourself on a linux command line. More specifically:

Knowledge and skills expected about participants:

  • Participants should have few years of experience in administering linux systems
  • Participants should know how to use Git version control system including branching and merging
  • Partipants should be comfortable with one shell (Bash, Zsh, PowerShell etc.)
  • Partipants should be comfortable with one text editor (Vim, Emacs, VS Code etc.)

Other requirements:

  • Partipants should bring a laptop with power adaptor, convertors and other peripherals
  • Internet connectivity should be ensured
  • The laptop should have an operating system of Windows 7 or later, Linux or Mac OS
  • A recent version of Virtualbox should be installed
  • Text editors (Textmate, Sublime Text, Atom, Vim, Emacs etc.) should be installed with all required plugins and it should be ready to use
  • A recent version of git should be installed and ready to use

Speaker bio

Walter Heck is the founder and CTO of OlinData. He is organiser of the configuration management devroom at FOSDEM and co-organiser of the config management camp. Walter has more then a decade of background in Programming, MySQL Databases and more recently Puppet and all the tools that come with it. Walter has spoken at many international conferences on 3 continents over the past 6 years.

Walter is an official puppetlabs trainer and as such has showed the ropes of puppet to hundreds of people around the world.