Difference between revisions of "OPS635-lab-puppet"
m (Updating lab number for fall 2019) |
m (→Investigation 1: Basic Puppet Installation) |
||
Line 13: | Line 13: | ||
==Investigation 1: Basic Puppet Installation== | ==Investigation 1: Basic Puppet Installation== | ||
*Clone your Centos blank Vm to create three new Vms (puppet-master, puppet-client1, and puppet-client2). | *Clone your Centos blank Vm to create three new Vms (puppet-master, puppet-client1, and puppet-client2). | ||
− | ** Set the hostnames of | + | ** Set the hostnames of each, provide them with static addresses, and add them to your DNS service. |
− | **Configure your puppet-master as the puppet master, and configure puppet- | + | **Configure your puppet-master as the puppet master, and configure puppet-client1 and puppet-client2 as puppet agents. |
**Write a puppet manifest on puppet-master to make a simple change (e.g. installing bind-utils) on both clients. Ensure it works before continuing. | **Write a puppet manifest on puppet-master to make a simple change (e.g. installing bind-utils) on both clients. Ensure it works before continuing. | ||
+ | **Undo the simple change (e.g. remove the package), and ensure that puppet re-applies the change. | ||
+ | |||
==Investigation 2: Using a Puppet Manifest== | ==Investigation 2: Using a Puppet Manifest== | ||
*Create a puppet manifest that will configure both puppet agents as web-servers for your nagios machine to monitor. | *Create a puppet manifest that will configure both puppet agents as web-servers for your nagios machine to monitor. |
Revision as of 15:06, 14 January 2020
Contents
OPS635 Lab 2: System Configuration Management using Puppet
Overview
In an enterprise environment, the existence of different hardware and Operating Systems running on production servers is very common. You may find the same software running on different OS and even different hardware platforms. To manage the software configuration on different platforms by using a script, your script must aware and account for their differences. Your scripts must be written in way that it knows how to query the operating environment and execute the appropriate installation and configuration actions based on the operating environment it is running on. There are commercial and open source configuration management systems which aware and know how to handle such difference in operating platforms. "Puppet" is one of those CMS that we are going to study for this lab. In this lab, we will start by trying to port the script that you have written for configuring Nagios on Centos7 to Debain/Ubuntu (or any other Linux distributions of you choice except RHEL and Fedora). Secondly, we will convert your originally Nagios installation and configuration script into a Puppet manifest, test it in your testing environment and then deploy it to your production environment (i.e. your Seneca VM).
Investigation 1: Basic Puppet Installation
- Clone your Centos blank Vm to create three new Vms (puppet-master, puppet-client1, and puppet-client2).
- Set the hostnames of each, provide them with static addresses, and add them to your DNS service.
- Configure your puppet-master as the puppet master, and configure puppet-client1 and puppet-client2 as puppet agents.
- Write a puppet manifest on puppet-master to make a simple change (e.g. installing bind-utils) on both clients. Ensure it works before continuing.
- Undo the simple change (e.g. remove the package), and ensure that puppet re-applies the change.
Investigation 2: Using a Puppet Manifest
- Create a puppet manifest that will configure both puppet agents as web-servers for your nagios machine to monitor.
- Ensure that even if you manually break your machines (e.g. remove a required package, alter a configuration file), they will automatically be fixed by the puppet-master.
Submission
Demonstrate your puppet manifest working in class, and upload the manifest to Blackboard.