Skip to content

PacktPublishing/Automating-IT-Infrastructure-with-Puppet-5.0-Hands-On

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Automating IT Infrastructure with Puppet 5.0 - Hands-On! [Video]

This is the code repository for Automating IT Infrastructure with Puppet 5.0 - Hands-On! [Video], published by Packt. It contains all the supporting project files necessary to work through the video course from start to finish.

This repository contains sample code for the video course "Automating IT Infrastructure with Puppet 5.0 - Hands On!", created by Alan Hohn and published by Packt Publishing.

See the file LICENSE.md for license information. Also see the modules in code/environments/production/modules for items which are separately licensed by the copyright owners.

About the Video Course

Managing your application’s infrastructure requires constant updates, security for infrastructure reliability. Automation provides faster deployments, fewer failures, improves security and reduces costs of your organisation. Puppet is an ideal tool for automating IT infrastructure in your organisation and this course will show you how.

This course will give you a hands-on tutorial with the Puppet 5 Platform to manage your IT infrastructure. You will build a custom software installation and configuration to match your application infrastructure. Explore latest features of Puppet 5 by executing, testing & deploying Puppet across your systems. Also, develop plugins for Puppet while learning to avoid common errors to overcome everyday challenges. By the end of this course, you’ll be ready to use Puppet in your own systems and ensure all of your servers are in compliance with the desired configuration.

What You Will Learn

  • Build an automated application infrastructure by defining Puppet resources, modules, and classes 
  • Deploy Puppet agents and servers in a public cloud environment so that you can quickly see the results of your Puppet code 
  • Create Puppet classes and modules to apply your automation and multiple servers in parallel 
  • Capture unique configuration for each system using Facter and Hiera so your Puppet code can be more modular and reusable 
  • Automatically configure any software using Puppet resources and embedded Puppet templates

Instructions and Navigation

Assumed Knowledge

To fully benefit from the coverage included in this course, you will need:
To fully benefit from the coverage included in this course, you will need:

● Basic Linux command-line skills

● Some knowledge of system administration (installing packages, copying files)

No prior knowledge of Puppet is needed.

Technical Requirements

This course has the following software requirements:
Minimum Hardware Requirements

To install and run Puppet, students should have access to a computer system with at least the following:

• OS: Linux (CentOS 7)

• Processor: Dual-core Intel or AMD

• Memory: 2 GB RAM

• Storage: 20 GB

Students can use a Windows or Mac OS computer to view examples and develop Puppet code, but will need an SSH client to connect to the Puppet server and transfer the code.

Software Requirements

• Atom IDE , Latest Version

o Recommended Packages: atom-ide-ui, ide-puppet

Other Requirements

This course demonstrates the use of Puppet for IT automation across multiple computer systems. To follow along with all of these examples, the student will need access to physical servers, virtual servers, or a cloud environment such as Amazon Web Services. The exercise files include configuration to run virtual machines using Vagrant and VirtualBox.

Puppet Code

Puppet code is contained in the code subdirectory. This code installs the Elasticsearch, Logstash, and Kibana (ELK) stack onto a group of CentOS 7 / RHEL 7 machines. At present, the manifests are configured to install the ELK stack on a single machine and to configure Filebeat on client machines to ship logs to the log server.

To use this with existing servers, the directory code/environments/production can be placed in the correct location on a Puppet server and used directly. See the main manifest manifests/site.pp to review or modify the configured names of servers.

Vagrant Setup

To demonstrate the Puppet code, a Vagrant configuration is included in the repository. This includes a Vagrantfile, a config directory that sets up the Puppet server and agents on a set of Vagrant boxes to make it possible to modify Puppet code on the host system and immediately apply it in the VMs, and a vagrant environment under code/environments that sets up the Vagrant hosts so they can find the Puppet server.

The Vagrantfile is configured for VirtualBox and should be run on a server with sufficient memory for all machines. Alternatively, it can be modified to use another Vagrant provider such as AWS. The Vagrant box must already have Puppet 5 agent installed and have the Puppet Yum repository configured (the Puppet server will be installed as part of the automated setup).

To use, set up Vagrant and VirtualBox per the documentation and run vagrant up. Then, once the machines are up and running, use vagrant ssh puppet to get a shell prompt inside the Puppet server, and sign the client certificates using:

sudo /opt/puppetlabs/puppet/bin/puppet cert sign --all

The agents will then apply their catalogs from the Puppet server. This may take more than 30 minutes as that is the default frequency for Puppet agents to check with the server for configuration changes.

The log server includes NGINX listening on port 80 as a reverse proxy for Kibana. This port is forwarded to the host as port 8080, so once the log server has completed applying its catalog, you can visit http://localhost:8080 in the browser to see and set up Kibana.

Vagrant Box

To provide a Vagrant box for VirtualBox with Puppet 5 agent installed, the packer-vagrant-box directory includes a Packer build JSON that creates a Vagrant box running CentOS 7. This automates the creation of the Vagrant box that is used with this repository.

Related Products

About

Automating IT Infrastructure with Puppet 5.0 - Hands On! [Video], Published By Packt

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •