Hamburger Icon
  • Labs icon Lab
  • Core Tech
Google Cloud Platform icon
Labs

Build a Production Ready Ansible Playbook

In this lab, you'll practice the construction of production-ready Ansible playbooks that manage applications/services on Linux systems. When you're finished with this lab, you'll have a playbook that configures a BIND DNS server, complete with DNS record management capabilities.

Google Cloud Platform icon
Labs

Path Info

Rating
(86 reviews)
Level
Clock icon Beginner
Duration
Clock icon 1h 10m
Published
Clock icon Aug 27, 2024

Contact sales

By filling out this form and clicking submit, you acknowledge our privacy policy.

Table of Contents

  1. Challenge

    Getting Started in the Lab Environment

    Here are the initial instructions and explanation of the lab environment. Read this while your environment is busy creating itself from nothing. Yes, this violates physics; we know. How fun!

  2. Challenge

    Creating and Populating Basic BIND DNS Configuration Files

    You will start by diving into the basic configuration of the BIND DNS server using Ansible through the static definition of BIND configuration files. You will use a basic Jinja2 template to accomplish this task.

  3. Challenge

    Use Jinja2 Templates to Deploy BIND DNS Zone Database

    You'll deepen your understanding of Jinja2 templates by dynamically defining the BIND DNS zone database. You'll use Ansible to deploy these templates to your managed host, and will also add domain and DNS record variables to your inventory file.

  4. Challenge

    Confirm DNS Functionality from Ansible Controller

    Now that your BIND DNS server is up and running, it's crucial to confirm its functionality. You'll run DNS queries using dig and nslookup commands from the terminal of the Ansible controller to ensure your DNS servers are resolving queries as expected.

  5. Challenge

    Control Ansible Execution with Conditional Statements

    You'll refine your Ansible playbook to make it more efficient. You'll add conditional statements to ensure that the BIND DNS server and the rndc reload command are only executed when necessary–specifically, when there are changes to the named.conf or zone database files.

  6. Challenge

    The Last Challenge

    Welcome to the final challenge! This is your last chance to experiment in the environment. Clicking Finish Lab will end this little world that flittered into existence just for you.

Christopher Hart is a Technical Consulting Engineer for Cisco specializing in enterprise and data center network solutions, Python, and network automation solutions.

What's a lab?

Hands-on Labs are real environments created by industry experts to help you learn. These environments help you gain knowledge and experience, practice without compromising your system, test without risk, destroy without fear, and let you learn from your mistakes. Hands-on Labs: practice your skills before delivering in the real world.

Provided environment for hands-on practice

We will provide the credentials and environment necessary for you to practice right within your browser.

Guided walkthrough

Follow along with the author’s guided walkthrough and build something new in your provided environment!

Did you know?

On average, you retain 75% more of your learning if you get time for practice.