
Andrew Mallett is The Urban Penguin, this is your opportunity to meet your instructor and learn a little about the course Puppet 6 Essentials.
Let's take a look at the course map and see what you will learn. You can download the course PDF also from here
Let Andrew introduce this section to you.
The slides give you the overview of what is covered in the section. Don't forget the complete slide set can be downloaded from the course introduction.
In this demonstration we configure the Puppetlabs repo on CentOS 8 enabling us to install both the agent and the server
It is the default that the puppet agent will try to connect to a host named "puppet" as the puppet server. In reality adding a DNS CNAME record is often the most effective way of doing this. As we will only have two agents in total for this course, we use local host records and add it to the single agent that we current have. The puppet server defaults to using 2GB RAM but we lower this setting to 1 GB so the server can start correctly where are AWS VM only started with a max of 2GB in total
The puppet server will operate with its own Certificate Authority and is used to authorise agents who connect to the server. For this reason we want accurate time on both the agents and server and, as such, we enable the time service chronyd. Rather than using native tools we can take the opportunity to see how we do this with puppet even before she puppet services are running.
So now is the time to start our puppet services and test connectivity through to the server from the puppet agent.
Andrew introduces the concepts of manifests to persist the configuration requirements
The slides are a great start to give you the overview of what manifest files are all about and how we use them. We introduce not only manifests but resources that are the building blocks for manifest files. We also learn how we can use and create environments to separate different configurations that are required across your estate.
When an agent connects through to a server it will ask for configuration settings for a given environment, the default environment is production. We can use the puppet config print manifest command to print the location of the manifest files we will use. The default path is a directory and all manifests will be processed from the directory.
Creating a new environment is simply a matter of creating the directory structure, often a directory called manifests and one called modules in a directory named after the new environment. In out development environment will will just create the manifests directory as we will not be using a module in this environment.
Improving your speed at the command line demonstrate the use of persistent BASH aliases that can be used as shortcuts to long commands or paths.
We now show how you can gain help on resources and how we can generate manifests from existing configuration. We learn to use the puppet resource command and the command puppet describe in this clip.
A video introduction to modules from Andrew
These slides give a a great start to learning about modules and creating your own. Don't forget the slides can be downloaded from the course introduction.
We have installed modules so far by adding them to the default environment, let's now see how we can add modules to specific locations.
Use puppet 6 essentials and the file_line resource to edit sshd_config with regex-based matches, ensure running vs static configuration, enforce package before service, and trigger restart on changes.
Explore how to use conditional statements in Puppet to adapt configurations across Linux distributions by leveraging facts such as OS family to install the correct packages and manage services.
Explore how Puppet templates manage configuration with Ruby templates and embedded Puppet templates, using variables like IP address, server name, and operating system facts to create unique server configurations.
Create a simple epp template for the motd file using embedded puppet tags to display ip and hostname from facts.
We have only used the agent of the server so lets now use Puppet Bolt to remotely install and configure another agent
Deploy Puppet agents across multiple hosts with Bolt using SSH key-based authentication, copy public keys, sign certificates, and configure Apache and cron for secure, scalable automation.
Thanks you so much for attending
The Puppet and DevOPS landscape has never been so big and you can ride the configuration management wave by learning Puppet now. Working with CentOS 8 we install the agent and server. With this up and running we write ad hoc commands at the command line, create manifests and our own modules and templates to complete the learning. The course culminates in using Puppet Bolt to deploy agent s to new systems. By the end of this course you will know Puppet Open Source and be able to configure systems centrally from your Puppet Server