

An inventory and playbook are enough to run our first Ansible program! (in fact, only a playbook is enough to run). Templates and variables are optional so they are not discussed here to keep this tutorial simple. + Variables: Using YAML, a file can list variables that Ansible will substitute into templates. + Templates: Using Jinja2 language, the templates represent a device’s configuration but with variables. An example of a task is to ping all hosts in group. Hosts in an inventory can be divided into smaller groups for easier management and configuration. + Inventory: a file contains a list of the hosts (usually their IP addresses, ports) which you want to configure or manage. Ansible playbooks are written in YAML format. Ansible playbooks are files that contain tasks to configure hosts. + Playbooks: These files provide actions and logic about what Ansible should do. Once Ansible is installed, it creates several text files: Therefore Ansible uses SSH (NETCONF over SSH in particular) to “push” changes and extract information to managed devices. Agentless means that the managed device does not need any code (agent) to be installed on it. In this tutorial we will learn some basic knowledge of Ansible in the scope of CCNA level.Īnsible uses an agentless architecture to manage network devices. There are several automation tools available to make configuration management easier: Ansible, Chef, Puppet… The goal of these tools is to reduce the complexity and time to configure and maintain networks (especially big ones with hundreds of devices).
