A lot of time and attention will be spent in learning, writing, and applying playbook definitions, the key part of Ansible that allows the synchronization of environments easily and uniformly, to apply to Linux / Unix and Windows (managed node) systems.
Objectives
At the completion of the course, participants should be able to :
- install and configure Ansible control-node and managed-node(s)
- use Ansible from the command line
- create and run playbooks
- use standard Ansible modules
- create and modify hosts (inventory) definitions
- roles: create, install and publish with the Ansible Galaxy
- design a 'best practice' strategy for using Ansible capabilities
- learn the usage and capabilities of the Ansible Tower
Audience
This course is directed towards working systems administrators, software developers, application testers, and quality assurance personnel.
Prerequisites
It is assumed that participants are working systems administrators / developers / testers with some very basic scripting knowledge (bash, ksh, Perl or Python) and an understanding of fundamental system utilities / commands on Linux and Windows systems
Duration
Four days.
Outline for Ansible Configuration and Administration Training
Chapter 1. Introduction
- software development (cycle) considerations
- strengths and weaknesses of Ansible
- Ansible terminology
- Ansible required environment setup
Chapter 2. Initial Setup and Configuration
- Ansible Core installation (package method)
- Ansible component locations
- Ansible documentation
- Ansible configuration file
- inventory (hosts) file (Linux and Windows nodes)
- (gathering) system facts
- local facts
Chapter 3. Ansible (ad-hoc) Command Line Usage
- usage in single module control
- testing a module across multiple nodes
Chapter 4. Ansible Playbooks
- layout of playbook sections and blocks
- variable creation and usage
- sections : hosts, variables, tasks, handlers, checking for success / failure
- controls : loops, conditionals, tags, notifications, plugins, filters, and lookups
- using modules in playbooks
- running as root
Chapter 5. Ansible Modules
- layout of an Ansible module
- Linux modules : file, yum, systemd, cron, user, shell, filesystem
- using the windows specific (win_) modules
- common Linux and Windows modules
Chapter 6. Roles Ansible
- overview of a role
- creating a role (structure)
- using (a) role(s)
- packaging up a role
- Ansible Galaxy - capabilities and usage with roles
- (local) Git code / role repo
- (remote) Git repo role access
- define role dependencies
- download role definitions (Ansible Galaxy)
Chapter 7. Managed Nodes
- requirements for a Linux managed node
- setup of a Linux managed node
- requirements for a Windows managed node
- setup of a Windows managed node
- inventory and access control information on the control node
Chapter 8. Ansible Tower
- using the Ansible Tower (dashboard)
- create inventories of systems (with credentials)
- create projects and job templates
- job scheduling (launch forms), status, and tracking
- watching and chaining (multi-) playbooks (workflows)
- controlling and viewing logs and audit trails
- notifications
- remote command execution
- report access