Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Intro to Ansible
Rating: 4.4 out of 5(49 ratings)
334 students

Intro to Ansible

Agentless infrastructure management and planning
Last updated 4/2019
English

What you'll learn

  • Set up and use a test environment for Ansible administration.
  • Run remote commands on computers.
  • Manage users on computers.
  • Manage services on computers.
  • Write Ansible playbooks and roles.

Course content

1 section33 lectures13h 45m total length
  • Overview3:51

    Administering and configuring infrastructure is a necessary but sometimes very difficult undertaking. Manual configuration of infrastructure is a full time job that takes away from other valuable activities that is prone to errors and difficulties in reproducing system state. Ansible allows one to create plans for managing infrastructure using an agentless (no outside system required) approach. During this show we will cover what Ansible is, how to set up Ansible, and use Ansible to create reproducible server configurations.

  • Creating the Environment26:34

    In this episode, Daniel and Justin explore the configuration management tool Ansible. Moreover, Justin demonstrates how to setup Vagrant and Virtualbox in order to simulate collections of servers to be administered by Ansible.

  • Setting Up Ansible30:59

    In this episode, Daniel and Justin work to install and set up Ansible on a control machine. Justin further discusses the requirements of Ansible in order appropriately control the other machines which includes setting up ssh access to other machines, copying identities, and ensuring that Python is available on the other machines.

  • Simple Commands Using Ansible29:51

    In this episode, Daniel and Justin demonstrate the use of Ansible to run some simple ad-hoc commands against other servers. Moreover, Justin demonstrates the use of a hosts file and modifying some of the Ansible configuration to manage multiple environments from the same control machine.

  • Installing Packages25:36

    In this episode, Daniel and Justin demonstrate installing packages through the Ansible command line interface. Justin highlights some of the modules that may be necessary in order to manage packages for a given host.

  • Installing Packages Pt. 221:25

    In this episode, Daniel and Justin return to further explore installing packages as well as highlighting some of the "gotchas" that can crop up when installing packages using Ansible.

  • Managing Users27:44

    In this episode, Daniel and Justin start working with users on remote nodes using Ansible. Justin demonstrates creating users, creating groups, and adding users to groups.

  • Managing Services24:50

    In this episode, Daniel and Justin take a look at managing system services. Justin demonstrates how to enable and disable a service as well as start, restart, reload, and stop a services as well as describe the nuanced differences among those actions.

  • Running Commands31:36

    In this episode, Ronnie and Justin dive into more command line commands such as uptime, preparing systems for administration, or querying aspects of a system. Justin highlights the nuances among the raw, command, and shell modules when using each one.

  • Hosts23:41

    In this episode, Ronnie and Justin start creating Ansible playbooks that allow clearer and more reproducible configurations when managing resources with Ansible. Particularly, Justin takes a look some of the basic organization of a playbook based Ansible commands.

  • Tasks25:27

    In this episode, Ronnie and Justin take a look at creating a list of actions to take when creating a playbook called tasks. Justin further explains how to add tasks as well as considerations when creating a list of tasks.

  • Variables23:06

    In this episode, Ronnie and Justin continue building out Ansible playbooks using some configuration settings or additional information that is necessary to configure a respective node, otherwise known as variables. Justin demonstrates several ways to provide variables to the Ansible playbook.

  • Variables Pt. 229:10

    In this episode, Zach and Justin continue building out Ansible playbooks using some configuration settings or additional information that is necessary to configure a respective node, otherwise known as variables. Justin demonstrates the usage of variable files, interactive prompts, and passing variables through the command line interface.

  • Handlers31:04

    In this episode, Zach and Justin dive into the use of handlers for reacting to events during the processing of an Ansible playbook. Justin demonstrates the creation of handlers as a response to tasks throughout the playbook such as installing an application that needs to be started or reloaded because configuration has changed.

  • Templating22:28

    In this episode, Zach and Justin explore using templated files to configure services that are part of your configuration. Justin explores the use of output of variables as a way to template files for configuration purpose using the basic of the Jinja2 templating language.

  • Templating Pt. 228:09

    In this episode, Zach and Justin continue their exploration of Jinja2 templating language as a way to template configurations using Ansible. Specifically, Justin demonstrates the use of iteration, if-else conditions, as well as utilizing the templating tools with different data structures available in Ansible.

  • Loops21:59

    In this episode, Zach and Justin take a look at iteration in the context of a playbook. Justin demonstrates the use of iteration in completing tasks such as installing a set of packages as well as illustrates edge cases when using loops and variables in the context of a playbook.

  • Control Flow38:00

    In this episode, Cherokee and Justin look at adding some decision making capabilities within an Ansible playbook. Justin demonstrates the use of decisions to apply changes using the when attribute based on conditions of the different nodes (i.e. Debian vs RedHat).

  • Getting Started with Roles25:09

    In this episode, Daniel and Justin take a look at organization of playbooks into a role based arrangement. Justin explains the use of roles as a way of segmenting the individual pieces of a configuration in order to be reused.

  • Roles and Tasks23:03

    In this episode, Daniel and Justin explore the creation of tasks using a role based arrangement. Justin further clarifies how Ansible determines what tasks to run when including a role.

  • Roles and Handlers24:58

    In this episode, Daniel and Justin explore the use of handlers when creating roles. Justin demonstrates the use of handlers within a role.

  • Roles and Control Flow26:56

    In this episode, Daniel and Justin explore the use of the when statement during the use of roles. Justin illustrates the differences in roles when the individual systems have differing requirements.

  • Roles and Templating23:43

    In this episode, Daniel and Justin take a look at using templates with roles. Justin demonstrates the use of templates in roles by templating an NGINX configuration.

  • Roles and Files28:16

    In this episode, Daniel and Justin continue seeing their exploration of NGINX using static files. Justin explores the use of files internal to an Ansible role as well as external to the role and provides a comparison between the two approaches.

  • Requirements for Static Site Deployment20:34

    In this episode, Vonne and Justin review the requirements that have been set forth for a deployment. Justin discusses the thought process for creating a plan for deployment and describes why one should use configuration management and version control instead of manual configuration.

  • Setting Up NGINX Configuration28:12

    In this episode, Zach and Justin set up the Ansible project that will manage the static site deployment. Additionally, Justin gets nginx up and running on the server utilizing ansible playbooks.

  • Templating the NGINX Configuration23:23

    In this episode, Daniel and Justin use templating to manage the configuration for serving a site using NGINX.

  • Creating a Static Site Role22:46

    In this episode, Daniel and Justin reorganize the previous playbook as a role in order to provide reuse. Justin demonstrates the use of the dynamic aspects of Ansible in order to make a static site deployment tool.

  • Planning the NFS Architecture16:24

    In this episode, Cherokee and Justin explore the architecture for creating an NFS server and associated clients. Justin diagrams and discusses some of the hidden complexities that can crop up when creating Ansible playbooks.

  • Setting up the NFS Server32:37

    In this episode, Cherokee and Justin create the playbook responsible for creating the NFS server. Additionally, Justin discusses some of the shortcomings of need client information during the configuration of another host.

  • Setting up the NFS Clients25:55

    In this episode, Cherokee and Justin create the playbook responsible for creating the NFS clients.

  • Restructuring to Roles: Server21:40

    In this episode, Cherokee and Justin revisit the playbook that set up the nfs server in order to extract that into a role based solution. Justin demonstrates the picking apart of the originally created playbook to create the nfs-server role.

  • Restructuring to Roles: Clients16:18

    In this episode, Cherokee and Justin revisit the nfs client playbook in order to extract that playbook into a role based solution.

Requirements

  • Basic understanding of physical infrastructure.
  • Familiarity with programming.
  • Familiarity with terminal interactions.

Description

Intro to Ansible

Administering and configuring infrastructure is a necessary but sometimes very difficult undertaking. Manual configuration of infrastructure is a full time job that takes away from other valuable activities that is prone to errors and difficulties in reproducing system state. Ansible allows one to create plans for managing infrastructure using an agentless (no outside system required) approach. During this show we will cover what Ansible is, how to set up Ansible, and use Ansible to create reproducible server configurations.

Course Format

•          Binge-worthy TV shows! Watch comprehensive, in-depth episodes that use a talk show-like format to keep you engaged while learning.

•          You can pick and choose episodes or you can watch as a complete series.

•          A little humor, anecdotes, and real-world examples.

Other Courses

Ready to become a DevPro? Get more DevProTV training with a variety of topics. Join Justin and DevProTV to level up your programming prowess!

Updates and Versions

The programming world updates at a break neck pace. As a result, there are times that certain tools, editors, libraries have changed. While syntax or names may change, the foundations remain the same. Though we hope to keep things updated, there may be time before that can occur. I recommend seeing if you can translate between changes and if all fails, ask questions!

Who this course is for:

  • System administrators looking to automate infrastructure management.
  • Developer looking to expand their infrastructure and configuration management skills.