Course programme
Ansible 2 for Beginners
33 lectures 04:16:50
Ansible 2 for Beginners - The Course Overview
This video provides an overview of the entire course.
What Is Ansible?
In this section, you'll learn about the most popular uses of the Ansible automation tool. It's a tool that you can use to manage the full life cycle of your infrastructure.
• Use of the Ansible automation tool
• Ansible Security
Why Ansible?
Ansible is more than just configuration management, like many other tools in this space. It's also much more lightweight than competitors like Puppet and Chef—to configure a server, all you need is an SSH login and Python 2 installed.
• Reasons to try Ansible
Demonstration – From Bash to Ansible
We'll use a simple example: installing and configuring an nginx server and a simple static HTML website, first using bash and then using Ansible.
• A demonstration of how configuration management has changed over time
• Differences between traditional bash and process in Ansible
• An example on manual versus shell script versus playbook
Course Layout
This video gives you an overview of how the course is structured. The focus is on practical, real-world applications, since that prepares you for real-life application of this knowledge.
• Install and set up the environment for Ansible
• Basic configuration files
• Cloud integration and Ansible tower
Basic Ansible Vocabulary
In this video, we'll cover the basic Ansible vocabulary. You'll have many basic questions answered.
• What's the difference between a server and a machine?
• What is an Ansible target machine?
• How do Ansible tasks, plays, and playbooks fit together?
New Features in Ansible 2.0
In this video, you'll learn about the new features and improvements that Ansible 2.0 offers.
Creating an Ansible Home Base
In this video, we'll set up an environment that you can use to safely practice everything you see in this course.
• Which type of VM to use for your Ansible Controller machine
• How to set things up to make your learning experience comfortable
Installing Virtualbox and Creating an Ubuntu Virtual Machine
In this video, we’ll be installing Ansible on Ubuntu and further we’ll look two ways of version-based installation.
• Install Ansible on Ubuntu
• Two ways to install Ansible on Ubuntu
Installing Ansible
In this video, you'll learn the three most popular ways to install Ansible, and decide which one is right for you.
• How to install Ansible through your package manager (if you just want a low-fuss install to learn with )
• How to install Ansible through their third-party repository (PPA) in Ubuntu (if you want something more up-to-date)
• How to install Ansible through pip (if you've already got a Python development environment set up)
• Use the Ansible-provided script to set up your shell environment so that you can use your bleeding-edge Ansible code
Setting up our Test Environment
In this video you'll learn how to simulate test machines with LXC (Linux Containers). LXC is a lightweight precursor to Docker which will let us configure some test hosts that we can run Ansible against.
• Create three containers
Target Machine Requirements
Ansible only requires two things: Python 2 and a running SSH service. In this video, I'll show you the 10-second process that prepares a brand-new host for Ansible.
• Automated by a playbook in one of the first pieces of Ansible code
Ansible Configuration Hierarchy
In this video, you'll learn where Ansible looks for its primary configuration file, and the different ways in which you can approach configuring Ansible.
• The top-level Ansible configuration file
• The user-level Ansible configuration file
• A config file in the directory that Ansible is being executed from
• The ANSIBLE-CONFIG environment variable
Ansible Hosts Inventory File
How does Ansible know which hosts to configure? The Ansible Hosts (Inventory) file!
• What the inventory file is?
• Basic syntax for the Ansible inventory file
• The top-level Ansible inventory file (/etc/ansible/hosts)
Ad-Hoc Commands
Ad-Hoc Commands are simple one-off commands that perform a single action on a target host. These simple replacements for small bash scripts or 'for' loops are run from the command-line, and work well for cases where a full-featured Playbook is overkill. You'll see Ad-Hoc commands for doing several things across one server, or many servers at once
• Pinging and checking memory usage
• Install a package
• Add timeouts to your commands
• Specify additional command-line arguments (custom users, ignoring host-key checking, etc.)
Introduction top playbooks
Playbooks are the Ansible feature you'll be working with on most projects. In this video, you'll learn the three components that make a Playbook what it is: tasks, templates, and handlers.
• Discuss how Playbooks make code reuse easy
• See some simple examples of practical playbooks
Playbook Structure
In this video, you'll learn how to structure your playbooks for maximum readability, predictability, and flexibility. You'll learn about Roles, and how they can help you reuse code. Note: For this course, we're not using every available Playbook feature, because it can make things excessively complex. We're focusing on the practical 90% of features that you'll be using every day.
• Look at some Python code that creates an empty playbook template
• Compare that to a playbook-creating Ansible playbook
Introduction to Modules
In this video, you'll learn what Ansible modules are and how they help you get things done.
• Where to find documentation for modules you are interested in
• The advantages of using modules vs. manually managing a task
• Managing state versus managing process, and how it can make your life easier
Common Modules
In this video, you'll learn about some of the most popular (and useful!) Ansible modules. At the end of this video, you'll have a list of modules to dig into, which you can use to manage
• Using Package module
• Using Files and Directories module
• Using System state module
Variables and Facts
In this video, you'll learn about how Ansible deals with Variables and Facts:
• The different levels (namespaces) at which variables can be applied
• The most common places to set variables and their benefits/drawbacks
• How Ansible gathers facts about a target host, and when you might want to disable this behavior
• How you can access facts that Ansible has registered
Real-Life Playbook: Mattermost Deployment
In this video, you'll see a real-life web application deployment. We'll be setting up Mattermost, an open-source alternative to the popular Slack team-chat application.
• Deployed on a single test host
• Install and configure the Mattermost application
Real-Life Playbook Walkthrough
This video reviews everything we just saw in the application deployment. After watching this video, you'll start to have an intuitive 'real-world' grasp of how a playbook works.
• Look at the different modules
• Ansible features that were used
Debugging and Troubleshooting
While developing Ansible automation, you'll be doing a lot of troubleshooting as part of the process. In this video, I'll show you the most common Ansible features that you'll use for debugging, along with some of the most common Ansible errors you'll encounter.
• Doing troubleshooting
• Use debugging along with Ansible errors
Conditionals and Control Flow
In this video, you'll learn about the control flow that you can use in your Tasks and Plays. At the end of this video, you'll be comfortable with Ansible iteration constructs like:
• with_items
• with_dict
• with_nested and conditionals like:
• when
• register
• changed_when
• failed_when
• Learn about the control flow
• Use Tasks and Plays
Templating, Control Flow, and Iteration in Jinja2
In addition to control flow in your YAML files, we can also introduce control flow for our file content in your Jinja2 templates.
• Introduce control flow for your file content
• Use regular Python for control flow and iteration
YAML Basics
We have been using YAML to write your Playbooks, Plays, Tasks, and Handlers. Now it's time to dig in for a moment and learn some of the rules you need to keep in mind when working with this markup language.
• Learn some of the rules of YAML
• Working with this markup language
Ansible Blocks
Task Blocks are one of the useful new features in Ansible 2.0. They allow you to group related tasks together, so you can tie control-flow to larger chunks of actions. This is something that comes in handy for larger actions which are made up of several tasks.
• Learn the optional 'rescue' and 'always' block features
Performance and Execution Strategies
Ansible has two built-in execution strategies that affect how it applies tasks to hosts. Knowing whether you want to use the linear (default) strategy or the free strategy can make the difference between completing a deployment in minutes or hours
• Difference between using a linear(default) strategy and free strategy
• Choosing the right feature
Ansible Galaxy
Ansible Galaxy allows you to leverage open-source roles that other people in the Ansible community have created. It can be useful for studying code that others have written, or for quickly getting some functionality that you need without having to write it from scratch.
• Install a role from Ansible Galaxy
• Use that role in a Playbook
• Control where a downloaded role is stored
• Remove a role (cleanup)
Security
In this video, I'll cover some of the basic security features. This is essentially a quick list of "best practices" and "things to watch out for." Using Ansible for provisioning, deployment, configuration management, and orchestration does not absolve you of managing the security of your systems...you'll still have to invest thought and planning into how you do this.
• Cover some of the basic security features
• Using Ansible for provisioning, deployment, configuration management, and orchestration
Ansible in the Cloud
Ansible can be used to provision services on all major cloud providers: Amazon Web Services (AWS), OpenStack, Google Cloud, Microsoft Azure, and more. There are also Ansible modules for on-premise virtualization and cloud solutions, which makes it really easy to get started.
• Use provision services on all major cloud providers
• UseAnsible modules for on-premise virtualization and cloud solutions
Ansible AWS Demo
In this demonstration, you'll see how the Mattermost Deployment playbook was ported to Amazon AWS.
• Provisioning and configuring Application Servers on EC2
• Provisioning an RDS instance and a replica to handle our database needs
• Creating EC2 security groups to manage access and protect our infrastructure
• Dynamically creating host groups from the infrastructure we're provisioning
Ansible Tower
This video will give you a quick taste of Ansible's commercial solution: Ansible Tower. This is a web application wrapper around the core open-source Ansible toolset
• Role-based Access Control.
• An API that you can integrate into the rest of your automation tooling.
• A GUI that allows nontechnical users to leverage Ansible's power.
Ansible 2 for Beginners - Quiz
Ansible 2 for Beginners.
33 lectures 04:16:50
Ansible 2 for Beginners - The Course Overview
This video provides an overview of the entire course.
What Is Ansible?
In this section, you'll learn about the most popular uses of the Ansible automation tool. It's a tool that you can use to manage the full life cycle of your infrastructure.
• Use of the Ansible automation tool
• Ansible Security
Why Ansible?
Ansible is more than just configuration management, like many other tools in this space. It's also much more lightweight than competitors like Puppet and Chef—to configure a server, all you need is an SSH login and Python 2 installed.
• Reasons to try Ansible
Demonstration – From Bash to Ansible
We'll use a simple example: installing and configuring an nginx server and a simple static HTML website, first using bash and then using Ansible.
• A demonstration of how configuration management has changed over time
• Differences between traditional bash and process in Ansible
• An example on manual versus shell script versus playbook
Course Layout
This video gives you an overview of how the course is structured. The focus is on practical, real-world applications, since that prepares you for real-life application of this knowledge.
• Install and set up the environment for Ansible
• Basic configuration files
• Cloud integration and Ansible tower
Basic Ansible Vocabulary
In this video, we'll cover the basic Ansible vocabulary. You'll have many basic questions answered.
• What's the difference between a server and a machine?
• What is an Ansible target machine?
• How do Ansible tasks, plays, and playbooks fit together?
New Features in Ansible 2.0
In this video, you'll learn about the new features and improvements that Ansible 2.0 offers.
Creating an Ansible Home Base
In this video, we'll set up an environment that you can use to safely practice everything you see in this course.
• Which type of VM to use for your Ansible Controller machine
• How to set things up to make your learning experience comfortable
Installing Virtualbox and Creating an Ubuntu Virtual Machine
In this video, we’ll be installing Ansible on Ubuntu and further we’ll look two ways of version-based installation.
• Install Ansible on Ubuntu
• Two ways to install Ansible on Ubuntu
Installing Ansible
In this video, you'll learn the three most popular ways to install Ansible, and decide which one is right for you than just configuration management, like many other tools in this space. It's also much more lightweight than competitors like Puppet and Chef—to configure a server, all you need is an SSH login and Python 2 installed.
• Reasons to try Ansible
Why Ansible?
Ansible is more than just configuration management, like many other tools in this space. It's also much more lightweight than competitors...