logo

Networking Course

course overview

Click to View dates & book now

Overview

This course provides the necessary skills and techniques to install Puppet Master and Agent in order to carry out configuration management effectively.

Audience

Each participant will leave with a recognised certificate

Outline

  • The course is presented as a mixture of lectures and hands-on exercises.
  • Exercises are provided for both the Enterprise and Open Source versions of Puppet.
  • Introduction to Configuration Management
  • Why do we need Configuration Management?
  • What are the components of Configuration Management?
  • What are the benefits of Configuration Management?
  • What is the Configuration Management life cycle?
  • What are the common tools for Configuration Management?
  • Puppet Overview
  • Puppet Enterprise stack and features
  • Model based approach
  • Composable configurations
  • Lifecycle of a puppet run
  • Puppet component roles (master / agent)
  • Master / agent architecture
  • Puppet Components
  • Describing and maintaining state
  • Infrastructure as code
  • Idempotency
  • Resources
  • Live management
  • Facter, Hiera and Puppet forge
  • Managing assets with Git
  • Source Control
  • Version Control
  • Centralised and Distributed Version Control Systems
  • GIT as a DVCS
  • GIT Basics
  • Choosing a DVCS
  • The SSH Protocol
  • Resources and Providers
  • Puppet resources
  • Resource declarations
  • Resource Abstraction Layer
  • Providers
  • Modules and Classes
  • Puppet Classes
  • Puppet Modules
  • Module Directory Structure
  • Namespaces and Auto-loading
  • Testing Classes
  • Using Puppet Without a Master
  • Puppet Usage Patterns
  • Masterless Puppet - in short
  • Benefits of going 'Masterless'
  • What would you have to do?
  • Problems with going 'Masterless'
  • Deploying Your Code to the Puppet Master
  • A Git to Puppet Workflow
  • Git and Puppet Master
  • Single or Multiple Repositories?
  • Managing Multiple Masters
  • Testing Puppet
  • Syntax checking
  • The Smoke test
  • Simulating change with Puppet
  • Virtualisation
  • Module testing frameworks
  • Unit testing modules
  • Test Driven Development - TDD
  • Using Puppet Forge
  • Puppet Forge
  • Using the Puppet Forge online
  • The puppet module tool - PMT
  • Search for modules
  • Install a module from Puppet Forge
  • Uninstall a module
  • Publish a module to the Puppet Forge
  • Classification
  • What is Classification?
  • Node Definitions: site.pp
  • Regular Expressions in Node Definitions: site.pp
  • Console Classification
  • Console Classification - Node Definitions
  • Console Classification - Node Groups
  • Environments
  • What are Environments?
  • Environment Directory Structure
  • Configure Puppet Master to use Directory Environments
  • Global Settings for Configuring Environments
  • Assign Nodes to their environments
  • Preconfigured Node Groups
  • Environment-based Workflow
  • What is Live Management?
  • Inspect node Resources
  • Control Puppet
  • ERB templates
  • Use cases for ERB Templates
  • Using templates
  • Using Puppet variables
  • Defining Puppet variables
  • ERB Conditions
  • Resources in depth
  • Resource type origins
  • Resource type categories
  • Meta resource types
  • Resource type documentation
  • Metaparameters
  • title and namevar
  • Resource relationships
  • Dependency management
  • Implicit dependencies
  • DSL - Domain Specific Language
  • Using Puppet variables (facts)
  • Defining local variables
  • Using variables
  • Variable scope
  • Strings and arrays
  • Conditional expressions: if, selectors, case, unless
  • Statements and functions
  • Parametrised types
  • Parameterised Classes and Inheritance
  • Defining a Parameterised Class
  • Assigning Parameters in the PE Console
  • Class Inheritance - base class declaration
  • Class Inheritance - sub class declaration
  • Class Inheritance - Best Practice
  • Defined resource types
  • Hiera
  • What is Hiera?
  • Why use Hiera?
  • Configuring Hiera
  • Yaml file locations
  • Sample data files
  • Automatic data bindings
  • Explicit Hiera lookup
  • Testing Hiera
  • PuppetDB
  • What is PuppetDB?
  • What is stored in PuppetDB?
  • How is PuppetDB accessed?
  • Example queries
  • Dashboards
  • PuppetDBquery module
  • Troubleshooting
  • Troubleshooting Puppet classes and Modules
  • Troubleshooting Puppet Installations
  • Puppet Best Practices
  • Using Modules
  • Naming Conventions
  • Style
  • Classes Vs Defined Types
  • Roles

Talk to an expert

Thinking about Onsite?

If you need training for 3 or more people, you should ask us about onsite training. Putting aside the obvious location benefit, content can be customised to better meet your business objectives and more can be covered than in a public classroom. Its a cost effective option. One on one training can be delivered too, at reasonable rates.

Submit an enquiry from any page on this site, and let us know you are interested in the requirements box, or simply mention it when we contact you.

All $ prices are in USD unless it’s a NZ or AU date

SPVC = Self Paced Virtual Class

LVC = Live Virtual Class

Please Note: All courses are availaible as Live Virtual Classes

Trusted by over 1/2 million students in 15 countries

Our clients have included prestigious national organisations such as Oxford University Press, multi-national private corporations such as JP Morgan and HSBC, as well as public sector institutions such as the Department of Defence and the Department of Health.