Skip to main content

Projects and Labs

Updated Jan 24, 2021 ·

Overview

This folder contains Ansible labs, project files, templates, inventories, roles, and supporting application examples.

The folders are grouped by purpose so each lab can be opened without searching through the full old notes tree.

Project Index

ProjectPurpose
Lab Setup TemplatesCloudFormation templates used to create Ansible lab hosts.
Project 001 Ansible BasicsCore inventories, sample playbooks, two-tier app labs, and user labs.
Project 002 Ansible RolesRole-based web server examples and vault playbook samples.
Project 003 Confluent CloudPlaybooks for Confluent Cloud user and deployment tasks.
Project 004 Ecommerce LAMPSQL, startup files, and walkthrough notes for the LAMP e-commerce project.
Project 005 Maven SampleMaven sample application used by the Jenkins and deployment labs.
Lab 001 to Lab 038Individual Ansible lab walkthroughs and exercises.

Lab Series

The lab walkthroughs are split into 38 individual folders so each exercise can be opened and reviewed on its own.

LabTopic
Lab 001Playbook on Ping
Lab 002Playbook on Uname
Lab 003Copying gitconfig onto the Nodes
Lab 004Doing a dry-run using 'check'
Lab 005Playbook on sending .gitconfig
Lab 006Two-tier Design Part 1: Package Management
Lab 007Two-tier Design Part 2: Install services
Lab 008Two-tier Design Part 3: Upload application to Web Servers
Lab 009Two-tier Design Part 4: Configure the LoadBalancer
Lab 010Two-tier Design Part 5: Health Check Status
Lab 011Two-tier Design Part 6: Using Prompts
Lab 012Two-tier Design Part 6: Consolidate into One Playbook
Lab 013Two-tier Design: Using Include
Lab 014Two-tier Design: Using Variables
Lab 015Two-tier Design: Using Local Variables
Lab 016Two-tier Design: Using Registered Variables
Lab 017Two-tier Design: Using Ansible Roles
Lab 018Using Ansible Vault
Lab 019Creating Users
Lab 020Using host_vars and group_vars
Lab 021Creating Users with Passwords stored in Ansible Vault
Lab 022Creating Users with Conditionals and Variables
Lab 023Using Jinja2 Templates to Deploy motd
Lab 024Using Jinja2 Templates to Deploy /etc/hosts file
Lab 025Creating Users using Ansible Roles
Lab 026Installing gitconfig Role from Ansible Galaxy
Lab 027Installing CentOS-Apache Role from Ansible Galaxy
Lab 028Execute Script, Install httpd, and Edit a File
Lab 029Conditionals
Lab 030Loops
Lab 031Playbooks
Lab 032Deploying LAMP Server (TBC)
Lab 033Deploying a Web Application (TBC)
Lab 034Deploying Jenkins
Lab 035Installing Maven
Lab 036Install and Configure Tomcat as the Staging Environment
Lab 037Creating a Basic Ansible Playbook
Lab 038Deploying a LAMP Stack and Python Application

Running Labs

Most Ansible examples assume you are inside the project folder that contains ansible.cfg.

ansible --list-hosts all
ansible-playbook playbooks/sample-ping.yml
warning

Review inventories and credentials before running any playbook. Several files were originally written for temporary lab hosts.