About Ansible
Simplify work. Break down silos. Speed transformation.
Ansible is a universal language, unraveling the mystery of how work gets done. Turn tough tasks into repeatable playbooks. Roll out enterprise-wide protocols with the push of a button. Give your team the tools to automate, solve, and share.

Course Contents
The following are the course contents offered for Ansible
- IT automation
- The history of IT automation
- Advantages of IT automation
- Disadvantages of IT automation
- Types of IT automation
- What is Ansible?
- Secure Shell (SSH)
- Why Ansible?
- Ansible vs Puppet vs Chef
- Hardware and software required
- Installation methods
- Setting up Ansible
- First steps with Ansible
- Module help
- Getting introduced to Ansible
- Plays
- Our first playbook
- Creating a host inventory
- Patterns
- Tasks
- Running the playbook
- HandsON
- Ansible version and configuration
- Inventory parsing and data sources
- The static inventory
- Inventory variable data
- Dynamic inventories
- Run-time inventory additions
- Inventory limiting
- HandsON
- Order of operations
- Relative path assumptions
- Play behavior keys
- Host selection for plays and tasks
- Play and task names
- HandsON
- Defining Variables in Playbooks
- Viewing the Values of Variables
- Registering Variables
- Facts
- Using set_fact to Define a New Variable
- Built-in Variables
- Setting Variables on the Command Line
- HandsON
- The target section
- The variable section
- The task section
- The handlers section
- The playbook modules
- The template module
- The set_fact module
- The pause module
- The wait_for module
- The assemble module
- The add_host module
- The group_by module
- The slurp module
- Windows playbook modules
- Cloud Infrastructure modules
- HandsON
- Going Modular with Ansible Roles
- Understanding roles
- Naming roles
- The directory layout for roles
- Creating a site-wide playbook
- Creating the www playbook
- Creating a base role
- Creating an Nginx role
- Automating events and actions with handlers
- Adding pre-tasks and post-tasks to playbooks
- Running playbooks with roles
- HandsON
- Static content explosion
- Separating code and data
- Jinja2 templates
- Facts and variables
- Templating the Nginx configurations
- Control structures
- Data manipulation
- Controlling Task Conditions
- Controlling Execution Flow – Conditionals
- Composing Reusable Ansible Content with Roles
- Including tasks
- Including handlers
- Including variables
- Including playbooks
- Role structure
- Role dependencies
- Approaches for managing environments
- Creating a development environment
- Running a Task on the Control Machine
- Running a Task on a Machine Other Than the Host
- Manually Gathering Facts
- Running on One Host at a Time
- Running Only Once
- Dealing with Badly Behaved Commands: changed_when and failed_when
- Retrieving the IP Address from the Host
- Encrypting Sensitive Data with Vault
- Patterns for Specifying Hosts
- Limiting Which Hosts Run
- Running operations in parallel
- Looping
- Conditional execution
- Task delegation
- Extra variables
- Finding files with variables
- Environment variables
- External data lookups
- Storing results
- Processing data
- Debugging playbooks
- Summary
- Larger Projects
- Includes
- Roles
- Role metadata
- Role defaults
- Terminology
- Specifying Credentials
- Prerequisite: Boto Python Library
- Dynamic Inventory
- Defining Dynamic Groups with Tags
- EC2 Virtual Private Cloud (VPC) and EC2 Classic
- Configuring ansible.cfg for Use with ec2
- Launching New Instances
- The Case for Pairing Docker with Ansible
- Docker Application Life Cycle
- Dockerizing Our Admatic Application
- Creating Docker Images with Ansible
- The Other Container Images
- Deploying the Dockerized Application
- Starting the Database Container
- Retrieving the Database Container IP Address and Mapped Port
- Waiting for the Database to Start Up
- Creating Bridge Network
- Creating Overlay Network
- Managing Docker-Compose.yaml deployments with ansible
- Writing a module in Bash
- Using a custom module
- Writing modules in Python
- External inventories
- Extending Ansible
- Connection plugins
- Lookup plugins
- Filter plugins
- Callback plugins
- Summary
- Ansible as an orchestrator
- Tagging the roles
- Troubleshooting Ansible
- Playbook logging and verbosity
- Variable introspection
- Debugging code execution
- Debugging SSH Issues
- The Debug Module
- The Assert Module
- Checking Your Playbook Before Execution
- Limiting Which Tasks Run
- Windows Remote Management (WinRM)
- HandsOn Usecase
- PowerShell 3.0 upgrade
- running win_ping
- ansible-vault
- Windows inventory
- Managing Windows Hosts
- Installing Packages
- Connection to Windows
- PowerShell
- Windows Modules
- Our First Playbook
- Updating Windows
- Adding Local Users
- Subscription Models
- What Ansible Tower Solves
- RESTful API
- Ansible Tower CLI
- HandsOn
- Preparing the playbook
- The docker role
- The awx role
- Running the playbook
- Using Ansible AWX
- Understanding Docker's Architecture
- Understanding Docker containers as environments
- Managing Docker Containers with Ansible
- Creating Docker containers
- Removing Docker containers
- Launching and stopping Docker containers
- Managing network access Docker containers
- Using Ansible to Create Docker Images
- Using Dockerfiles to launch Ansible playbooks
- Managing Docker Images with Ansible
- Pulling
- Building and archiving Docker images
- Saving and loading archived Docker images
- Gathering Facts About Docker Containers
- Server clustering
- Introducing server clustering
- Introducing Docker Swarm
- Docker Swarm features overview
- Docker Swarm in practice
- Setting up a Swarm
- Adding worker nodes
- Deploying a service
- Scaling service
- Publishing ports
- Advanced Docker Swarm
- Rolling updates
- Draining nodes
- Multiple manager nodes
- Scheduling strategy
- Docker Compose with Docker Swarm
- Introducing Docker Stack
- Using Docker Stack
- Specifying docker-compose.yml
- Running the docker stack command
- Verifying the services and containers
- Removing the stack
- Alternative cluster management systems
- Kubernetes
- Setting Up latest Kubernetes cluster with Ansible
- Manage Depolyment of Kubernetes Pods and Deployments via Playbooks
- Manage Flannel with Ansible
- Manage Calico with Ansible
- Automating setup of a Multi-Tier Web Application Cluster
- Automating Setting up a Multi Node BigData Cluster
- HandsOn PoC Setting Up Ansible - on cloud and cluster mode
- Orchestrating Infrastructure with Ansible
- Deploy Ansible
- HandsOn Usecases
- Configure complex playbooks
- Troubleshoot Ansible
- Implement Ansible Tower
- Implement Ansible in a DevOps environment
- Docker and Ansible
- Automation Infrastructure
- Bootstrapping Cloud Instances with Ansible
- Continuous Integration with Ansible + Jenkins
Have Question?





