Puppet is a configuration management system that automates all your IT configurations, giving you control of what you do to each node, when you do it, and how you do it.
Puppet is a configuration management system that automates all your IT configurations, giving you control of what you do to each node, when you do it, and how you do it.
This video course takes you from a basic knowledge of Puppet to an advanced level, where you'll master the latest and most advanced Puppet features. You will discover advanced techniques to deal with centralized and decentralized Puppet deployments and take control of your servers and desktops. This course will also present interesting examples illustrating how to automate Puppet deployment for configuration management and every aspect of your systems, including provisioning, deployment, and change management. By learning these skills, you will make Puppet reliant, scalable, and high-performing.
About The Author
Thomas Uphill is a long-time user of Puppet. He has presented Puppet tutorials at LOPSA-East, Cascada, and PuppetConf. He has also been a system administrator for over 20 years, working primarily with RedHat systems; he is currently a RedHat Certified Architect (RHCA). When not running the Puppet User Group of Seattle (PUGS), he volunteers for the LOPSA board and his local LOPSA chapter, SASAG.
This video provides an overview of the entire course.
Puppet is a configuration management tool; you use it to keep the configuration of your machines consistent. There are several terms used in a Puppet installation; we'll introduce those here.
In this section, a detailed understanding of the different Puppet architectures will be provided, with emphasis on the difference between installation with Passenger and Puppet Server.
We will learn how to initialize a code repository for our project and how to create appropriate branches for the same to be used in development, builds and tests later.
We will learn to use r10k to manage module dependencies in our project and see how they can be useful to automate deployments in the MPLI Productions Puppet infrastructure.
In this video, we will go through the typical installation of a PuppetServer machine in a standalone configuration. For convenience, we will refer to this machine as puppetca.
In this video, we are going to have one puppetca and two puppet master machines. The puppetca will act as a load balancer for our configuration.
In this video, we will modify our configuration to make the puppetca machine accessible directly.
In this video, we will learn how to tweak parameters in the Puppet configuration files to increase performance in Puppet client runs and in storing and retrieving Puppet metadata.
In this video, we will learn how to install and configure PuppetDB with a PostgreSQL database as the backend for better scalability in the MPLI Productions environment.
In this video, we will introduce the concept of exported resources and show some usage examples
In this video, we will learn how to utilize the default dashboard available with PuppetDB and how it can be used to visualize infrastructure data for MPLI Productions.
In this video, we will learn about the different API endpoints that PuppetDB provides and the type of information that we can utilize and manipulate from them.
We will learn how to use already developed public modules and reuse them for tasks in MPLI productions.
We will learn to create custom facts based on internal requirements for MPLI productions and use them to develop modules.
We will learn how to go beyond the default types available with Puppet and write custom types for an MPLI Productions environment.
We will understand what Hiera is and how to use it for data management for an MPLI Productions Puppet environment.
We will configure mcollective on the Puppet client nodes in MPLI Productions so that we can run remote commands and modules on the nodes using the same.
We will learn how to configure Puppet to enable reporting.
We will learn how to install, configure and manage the Foreman dashboard and integrate the Puppet masters for MPLI Productions with it.
We will learn how to configure various types of report processors for the dashboards and generate meaningful reports for the MPLI Productions infrastructure.
We will learn how to identify and monitor Puppet events such as sync failures and raise alerts and notifications for them for MPLI Productions.
We will learn how to install puppet-lint and use it to perform DSL syntax tests on the puppet code we have written for MPLI Productions.
In this video, we will learn to install rspec-puppet and write unit tests.
In this video, we will learn to install Beaker and write acceptance tests.
We will learn to install Test Kitchen and bring all of the above mentioned tests together so that they can be run as a suite.
We will learn to use the tests that we have written and build the Puppet code on Jenkins to be merged with the master branch of the repository.
In this video, we will talk about the Puppet API and the Puppet CA API.
In this video, we will discuss SSL certificates and X509 SSL certificates.
In this video, we will discuss why does Puppet fail the first time then work fine the second or third time.
In this video, we will use Pry to interrupt the Puppet server and inspect the running process.
We will learn to understand and follow a few best practices to develop Puppet code and maintain the Puppet infrastructure in an efficient manner.
OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.
Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.
Find this site helpful? Tell a friend about us.
We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.
Your purchases help us maintain our catalog and keep our servers humming without ads.
Thank you for supporting OpenCourser.