-
Learning by doing
-
Trainers with practical experience
-
Classroom training
-
Detailed course material
-
Clear content description
-
Tailormade content possible
-
Training that proceeds
-
Small groups
In the course Puppet Configuration Management participants learn to use the open source configuration management tool Puppet to manage a complex infrastructure of physical and virtual machines. Puppet uses Ruby to translate the infrastructure into code for easy configuration. Puppet follows the client-server model, where one puppet master machine in a cluster acts as a server and the others as slaves on nodes.
The course starts with a discussion of the Puppet Architecture and the Ruby DSL language. This includes how configurations are defined and how deployment can be automated. The difference between Push Based Deployment and Pull Based Deployment is discussed.
Subsequently the components of Puppet and how they work together are explained, such as the Puppet Master, Puppet Agents and Puppet Modules. Attention is also paid to the Configuration Catalog and the Config Repository and to the role of the manifest, templates and static files.
Then Puppet Resources such as Files, Users, Services and Processes are discussed. The distinction between the various Resource Types such as Built-in Resource Types, Puppet Defined Resources and Custom Resource Types is also treated.
Also part of the course program are the Puppet configuration file Puppet.conf and the various Puppet Commands such as the commands describe, schedule, service and mount. Working with classes as reusable units in Puppet with implementation hiding, iterator functions and events is discussed afterwards.
Finally the course ends by explaining the use of Puppet in combination with containers. Then Docker, Vagrant, Kubernetes and Docker Swarm are treated.
The course Puppet Configuration Management is intended for system administrators and devops engineers who want to automate system management and application deployment with Puppet.
General experience with system management in an IT infrastructure and knowledge of the Ruby programming language is beneficial for the understanding.
The subject matter is discussed on the basis of presentation slides and demos. The theory is interchanged with exercises. The course material is in English. Course times are from 9.30 to 16.30.
After successful completion of the course the participants receive an official certificate Puppet Configuration Management.
Module 1 : Puppet Intro |
Module 2 : Puppet Components |
Module 3 : Puppet Resources |
What is Puppet? Managing Infrastructure Puppet Setup Ruby DSL Language Deployment Automation Deployment Models Push Based Deployment Pull Based Deployment Resource Abstraction Layer Idempotency Cross Platform Puppet Workflow Defining Configurations |
Puppet Master Puppet Agents Puppet Modules Reusable Units Puppet Resources Configuration Catalog Config Repository Puppet Classes Providers Manifest Templates Static Files Facter and Facts |
Resource Types Built-in Resource Types Puppet Defined Resources Files and Users Services and Processes Packages Resource Title Resource Tasks Listing Resources Attributes and Values Testing Resources Custom Resource Types Resource Parameters |
Module 4 : Puppet Commands |
Module 5 : Puppet Classes |
Module 6 : Puppet and Containerization |
Puppet.conf Settings Lines Setting Variables Environment Timeout Sign Request resource Command describe Command schedule Command service Command mount Command cron Command |
Class Syntax Defining Classes Declaring Classes Differences with OOP Bundling Resources Reusable Units Implementation Hiding Passing Events Iterator Functions Parameterized Classes include Keyword |
Vagrant and Docker Docker Hub Docker File Automated Builds The Puppet Forge Creating a puppetfile Puppet Manifest Puppet Module Generator Using .erb Files Containers Schedulers Kubernetes and Docker Swarm |