+

Search Tips   |   Advanced Search

Basic Concepts - Ansible


Control node

Any machine with Ansible installed. We can run Ansible commands and playbooks by invoking the ansible or ansible-playbook command from any control node. We can use any computer that has a Python installation as a control node - laptops, shared desktops, and servers can all run Ansible. However, we cannot use a Windows machine as a control node. We can have multiple control nodes.


Managed nodes

The network devices (and/or servers) we manage with Ansible. Managed nodes are also sometimes called 'hosts'. Ansible is not installed on managed nodes.


Inventory

An inventory is a list of managed nodes. An inventory file is also sometimes called a 'hostfile'. The inventory can specify information like IP address for each managed node. An inventory can also organize managed nodes, creating and nesting groups for easier scaling.


Collections

Collections are a distribution format for Ansible content that can include playbooks, roles, modules, and plugins. We can install and use collections through Ansible Galaxy.


Modules

The units of code Ansible executes. Each module has a particular use, from administering users on a specific type of database to managing VLAN interfaces on a specific type of network device. We can invoke a single module with a task, or invoke several different modules in a playbook. Starting in Ansible 2.10, modules are grouped in collections. For an idea of how many collections Ansible includes, take a look at the Collection Index.


Tasks

The units of action in Ansible. We can execute a single task once with an ad-hoc command.


Playbooks

Playbooks are ordered lists of tasks, saved so we can run those tasks in that order repeatedly. Playbooks can include variables as well as tasks. Playbooks are written in YAML.

Next | Previous