QA-QAPUPPETINT

Ladda ner som PDF

Introduction to Puppet

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

The course is presented as a mixture of lectures and hands-on exercises.

Prior knowledge

  • Experience in using the command line
  • Some familiarity with Linux (or similar) concepts
  • Experience with a text editor such as vi
  • A basic understanding of services and host file entries

Objectives:

  • Install and configure Puppet Enterprise
  • Install and configure Puppet Agent
  • Describe the key components of Puppet including Hiera and Facter
  • Write classes comprising desired resources for a node
  • Test their Puppet configurations
  • Use Puppet to configure multiple web servers

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... Läs mer

Objectives:

  • Install and configure Puppet Enterprise
  • Install and configure Puppet Agent
  • Describe the key components of Puppet including Hiera and Facter
  • Write classes comprising desired resources for a node
  • Test their Puppet configurations
  • Use Puppet to configure multiple web servers

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


Utbildningen levereras i samarbete med

Kurs-ID: QA-QAPUPPETINT
Längd: 3 dagar
Pris exkl moms: 23 880 kr

Frågor om kursen!?

Har du frågor om kursens innehåll, leveransdatum/ort eller behöver en företagsanpassad variant? Fyll i formuläret nedan!


Avtalsrabatter och kampanjer kan ej nyttjas på denna kurs.


Ort och datum

Cloud Access
i Läs mer

Delta på kursen från ditt hem, jobb eller annan plats.

23 nov – 25 nov
Boka nu!
22 feb – 24 feb
Boka nu!

Tipsa