Puppet Course outline

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

  • Declarative Modelling Language

  • Resource Abstraction Layer

  • Providers

Modules and Classes

  • Puppet Classes

  • Puppet Modules

  • Module Directory Structure

  • Namespaces and Auto-loading

  • Defining and Declaring Classes

  • 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

Live management

  • 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

  • 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

  • Declaring 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

  • Defining and Declaring a Defined Type

  • Module Directory Structure

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

  • Version Control

  • Naming Conventions

  • Style

  • Classes Vs Defined Types

  • Roles and Profiles

Other Configuration Management Tools

  • Managing AWS services with the AWS CLI

  • Configuring Servers using Kickstart

  • Provisioning Infrastructure with Foreman and Puppet

  • Preparing operating systems using Cobbler

Puppet DevOps Deployment

Become an Industry expert

Course Highlights:

 

- Project Oriented

- Placement assistance

- Opportunity to contribute to AppStrore

  • Facebook - Black Circle
  • Twitter - Black Circle
  • YouTube - Black Circle
  • Google+ - Black Circle
  • Instagram - Black Circle

(408)505-5499

2603 Camino Ramon, Ste 200 San Ramon CA United States 94583

©2016 by Siliconvalley4u  Privacy