Version : 2020.01

Last update:

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

A fast Internet connection (4G minimum) and no proxy,

Unhindered access to the following domains : https://my-short.link, https://itraining.center, https://ittraining.io, https://ittraining.institute, https://ittraining.support.

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

<html> <DIV ALIGN=“CENTER”> Copyright © 2020 Hugh Norris<BR><BR> Non-contractual document. The curriculum can be changed without notice. </div> </html>