Version : 2020.01

Last update: 2020/08/29 15:04

DOE400 - Puppet: Infrastructure Automation and Delivery

Presentation

Objectives: Master infrastructure automation and delivery with Puppet.
Who can benefit: Linux Technicians and Administrators.
Prerequisites: One of the following certifications or the equivalent skills: CompTIA Linux+ Powered by LPI or LPIC-1 or SUSE CLA or ITT Debian Linux - Technician or ITT CentOS Linux - Technician.
Learning technique: Clear, theoretical course content divided into lessons and extensive LABS.
Student Progression: Student progression is monitored both in terms of effective attendance and in terms of comprehension using self-assessment tests.
Duration: 2 days (14 hours).

Prerequisites

Hardware

  • A computer running MacOS, Linux, Windows™ or Solaris™,
  • AZERTY FR or QWERTY US keyboard,
  • Minimum 4 GB of RAM,
  • Minimum dual-core processor,
  • Headphones/Earphones,
  • A microphone (optional).

Software

  • If Windows™ - Putty and WinSCP,
  • Chrome or Firefox web browser.

Internet

Curriculum

Day #1

  • DOE400 - Puppet: Infrastructure Automation and Delivery - 1 hour.
    • Prerequisites
      • Hardware
      • Software
      • Internet
    • Using the Infrastructure
      • Connecting to the Cloud Server
        • Linux, MacOS and Windows 10 with a built-in ssh client
        • Windows 7 and Windows 10 without a built-in ssh client
      • Starting the Virtual Machine
      • Connecting to the Virtual Machine
    • Course Curriculum
  • DOF401 - Puppet in Stand-Alone Mode - 2 hours.
    • What is Puppet?
    • Working with Puppet
      • Using Manifests
        • LAB #1 - Managing files
          • 1.1 - Changing an existing file on the server
          • 1.2 - Implementing a Dry Run with Puppet
        • LAB #2 - Managing packages
        • LAB #3 - Managing services
      • Managing Puppet code with Git
        • LAB #4 - Creating a local Repository
          • 4.1 - Git branches
        • LAB #5 - Creating a non-local Repository
        • LAB #6 - Cloning a Repository
        • LAB #7 - Applying changes automatically
        • LAB #8 - Implementing on a node
  • DOE402 - Puppet Resources - 2 hours.
    • LAB #1 - The file resource
      • The source attribute
      • The owner attribute
      • The group attribute
      • The mode attribute
      • The ensure attribute
      • The recurse attribute
    • LAB #2 - The package resource
      • The ensure attribute
      • Installing packages
      • Ruby Gems
      • Deleting packages
    • LAB #3 - The service resource
      • The hasstatus attribute
      • The pattern attribute
      • The hasrestart and restart attributes
    • LAB #4 - The user resource
      • Creating a user
    • LAB #5 - The cron resource
      • The user attribute
      • The environment attribute
      • The weekday attribute
      • The monthday attribute
      • The fqdn_rand function
    • LAB #6 - The exec resource
      • The exec attribute
      • The cwd attribute
      • The command attribute
      • The creates attribute
      • The user attribute
      • The onlyif attribute
      • The unless attribute
      • The refreshonly attribute
      • The logoutput attribute
      • The timeout attribute
  • DOE403 - Variables, Expressions, Facts and Iterations - 2 hours.
    • LAB #1 - Variables
      • Simple variables
      • Tables
      • Hashes
    • LAB #2 - Expressions
      • Math Expressions
      • Boolean Expressions
      • Regular Expressions
      • Conditional Expressions
    • LAB #3 - Facts
      • Facts in a Hash
      • Facts in an Expression
      • External Facts
      • Executable Facts
    • LAB #4 - Iterations
      • Iteration and Tables
      • Iteration and Hashes

Day #2

  • DOE404 - Hiera and Modules - 2 hours.
    • Preparation
    • Hiera
      • Presentation
      • LAB #1 - Environments
      • LAB #2 - Hiera data types
      • LAB #3 - Interpolation
        • Data sources based on Facts
      • LAB #4 - Creating resources with Hiera data
      • LAB #5 - Managing secret data
    • Modules
      • LAB #6 - Installing Modules
      • LAB #7 - Using Modules
        • puppetlabs/mysql
        • puppetlabs/apache
        • puppet/archive
  • DOE405 - Puppet in agent-master mode - 4 hours.
    • Preparation
      • Connecting to the Cloud Server
        • Linux, MacOS and Windows 10 with a built-in ssh client
        • Windows 7 and Windows 10 without a built-in ssh client
      • Configuring VirtualBox
      • Starting the Virtual Machines
      • Connecting to the Virtual Machines
      • Configuring the time zone
      • Deactivating SELinux in puppetslave02
    • LAB #1 - Configuring the Puppet Server
      • Installing puppetserver
      • Configuring puppetserver
    • LAB #2 - Configuring puppet-agent
      • Installing puppet-agent
      • Configuring puppet-agent
    • LAB #3 - Creating a user
    • LAB #4 - Configuring ssh
    • LAB #5 - Configuring Netfilter
      • Executing puppet-agent on node01.i2tch.loc
      • Executing puppet-agent on node02.i2tch.loc
    • LAB #6 - Deploying Apache with Puppet in agent-master mode
      • Creating a role
      • Creating Manifests
      • Creating the configuration files
      • Creating Templates
      • Deploying Apache
  • DOE406 - Course completion - 1 hour.
    • What's next?
      • Training materials
      • What you need
        • Hardware
        • Software
        • Virtual Machine
      • Installing the working environment
        • Installing Git
          • Linux
          • Windows
        • Installing VirtualBox
        • Installing Vagrant
        • Installing the Puppet virtual machine
          • Linux
          • Windows
        • Connecting to the Puppet virtual machine
          • Linux
          • Windows
    • What we covered
      • Day #1
      • Day #2
    • Resetting the course infrastructure
    • Evaluate the training session
    • Thanks

Copyright © 2020 Hugh Norris

Non-contractual document. The curriculum can be changed without notice.

Menu