Ansible Essentials with Hands-on Labs
4.5 (162 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
2,576 students enrolled

Ansible Essentials with Hands-on Labs

Learn Ansible for DevOps & Automation. Start from the basics and go all the way to creating your own playbooks & roles!
4.5 (164 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
2,576 students enrolled
Created by Ugur Oktay
Last updated 2/2020
English
English [Auto]
Current price: $69.99 Original price: $99.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 6.5 hours on-demand video
  • 2 articles
  • 1 downloadable resource
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Configuration management with Ansible
  • Install and configure Ansible Automation Engine on a control node
  • Run ad-hoc automation tasks from the command line
  • Write Ansible playbooks to automate multiple system administration tasks on managed hosts
  • Work with Ansible in conjunction with Vagrant and Virtualbox in a DevOps environment
  • Parameterize Ansible playbooks using variables and facts
  • Ansible variable precedence system and overriding
  • Use Jinja2 templating to enable dynamic expressions and access to variables
  • Create Ansible playbooks/roles to deploy a 3-tier web application
  • Configure Ansible roles with tasks, handlers, files, templates, dependencies and variables
  • Be able to create Ansible playbooks/roles to deploy a 3-tier web application
Requirements
  • Familiarity with Linux administration concepts
Description

Ansible is a simple to understand, simple to adopt, simple to use IT configuration management and automation tool. With the Ansible Essentials course, you can start from the basics and go all the way to creating your own playbooks and roles with Ansible.


This is a focused course designed to rapidly get you up to speed on using Ansible automation engine in real life. As an IT professional, you'll develop a solid understanding of Ansible and will be able to apply it to daily automation and configuration management tasks.


Ansible Essentials course includes lots of examples and hands-on labs and aims at providing students with first-hand experience with course concepts. You can follow along the course by setting up your own lab environment. A Vagrant environment is used throughout the course, and in the appendix, you'll find detailed lectures showing you how to set up one for yourself.


Each lecture introduces a new Ansible concept. Concepts are first explained, and then relevant examples are provided. Some of them are also demoed in the lab environment showing you how they can be applied to playbooks. And finally, we apply the concept to our LAMP Stack playbooks.


Course follows a progressive path that mirrors a real-world approach to automation. It's divided into five sections, starting with the architectural overview and foundational concepts. In section 2, we'll install Ansible automation engine and learn about inventory, which is the first thing we need to get started automating tasks with Ansible. We'll learn ad-hoc commands and also discover some of Ansible's commonly used modules in section 3.


Then we'll move on to ansible playbooks. Playbooks let us use fully-fledged configuration management and orchestration capabilities of Ansible. Ansible playbooks are written in YAML, so before diving into the details of playbooks, we'll do a YAML overview. Then, we'll learn about playbook basics, including playbook structure, idempotency, and tasks. We'll learn how to run a playbook, check its syntax, and control its output with verbose.


Then we'll start building our 3 tier web application. In each lecture, we'll learn one or more ansible features, and we'll apply them to our project. In this part of the course, you'll learn about handlers, Jinja2 templating, loops, variables, error handling, and much more. At the end of this section, you'll have prepared playbooks that can deploy a fully functional multi-node LAMP stack on your machines.


In section 5, we'll cover how to organize playbooks more effectively where you'll learn about imports, includes, and roles. We'll refactor the playbooks into roles and make them easy to share and reuse.


This course is based on Red Hat® Ansible Engine 2.8 and CentOS Linux 7.7. By following along the course, you'll learn how to set up a 3-tiered web application environment that leverages Apache2, Python, and MySQL on CentOS machines.

Who this course is for:
  • Complete beginners to Ansible and configuration management
  • IT professionals who are experienced in another configuration management tool and now want to pick up a new skill
  • IT professionals who know basic Ansible but now want to level up their skills with the advanced topics in this course
Course content
Expand all 58 lectures 06:43:51
+ Ansible Foundations & Installation
5 lectures 28:05

Get to know Ansible's key components such as Ansible Controller, playbooks, modules, tasks etc.

Ansible Architecture
04:58

Continually updated Text Document with Course FAQs.

Course FAQ
00:36

Learn about the multiple methods to install Ansible. Install latest version of Ansible on a controller machine.

Installing Ansible
04:06

Learn about the Ansible inventory file. Create and customize an inventory file for deploying a 3-tier web application with Ansible.

Inventory
11:27

Get familiar with the Ansible configuration file. Learn how to customize and use it in a multi-project environment.

Configuration File (ansible.cfg)
06:58
+ Ansible Ad-Hoc Commands
4 lectures 22:00
Introduction to Ansible Ad-Hoc Commands
03:43
Ad-Hoc Command Examples
11:51
Setup Module & Filtering
04:14
Host Selection Patterns
02:12
+ Ansible Playbooks
32 lectures 03:52:44
YAML Overview
05:36
Playbook Structure
08:17
Tasks & Idempotency
06:06
First Playbook
03:43
Syntax Check & Dry Run
04:42
Playbook Execution
11:45
Host Facts
12:03
Yum Module
08:46
Service Module
04:43
Copy Module
06:08
Loops
08:55
Variables-I
04:07
Variables-II
05:04
Variables-III
11:55
Variable Precedence in Ansible
10:15
Lineinfile Module
14:26
Apache Virtual Host Configuration
08:33
Error Handling-I
04:21
Error Handling-II: Register & When
07:37
Error Handling-III: Ignore Errors
05:22
Blocks
05:27
Git Module
03:23
Templating I: Loops & Conditionals
11:04
Templating II- Filters & Tests
05:26
Templating III: HAProxy Configuration
06:41
Templating IV: HAProxy Configuration
07:28
Templating V: HAProxy Configuration
07:30
Mysql_db & mysql_user
09:00
Common Tasks
06:25
Firewalld Module
03:42
Tags
05:18
+ Creating Reusable Playbooks
9 lectures 55:39
Including & Importing
11:05
Site.yml
03:14
Roles
03:58
Role Structure
02:39
Tasks & Handlers
07:21
Files & Templates
05:23
Role Variables: Defaults & Vars
06:45
Meta & Tests
06:36
Role Execution
08:38
+ Appendix- Environment Setup
5 lectures 53:46
About Vagrant and Lab Environment
05:39
Vagrant Installation
04:59

This is the Vagrantfile I have used to set up the lab environment. It requires a little customization like folders etc and also you should remove the '.txt' file extension before running "vagrant init" command.

Environment Setup
24:32
Creating a non-root user for Ansible
06:58
Setting up SSH Authentication
11:38