Ansible Configuration and Administration: Part 1 – 3 Days
For system administrators and software developers
Course Description
This course presents the system management and configuration tool Ansible, from methods, techniques, capabilities to implementation. Each participant will learn how to install the Ansible control machine along with the impact on the Linux system. A lot of time and attention will be spent in learning, writing, and applying playbook definitions, the key part of Ansible that allows a software developer to synchronize environments that are part of the software delivery process, and a system administrator to provision, configure, and provide on-going maintenance and updates to a Linux system.
Implementation
Each participant will have a dedicated RHEL 7 virtual server for Ansible installation, playbook development, and DSL features. Depending upon the available resources on the host system (Windows or Mac OS X), a second CentOS 7 minimal virtual system will be setup as the Ansible managed node.
What You Will Learn
- install and configure Ansible control-node(s) and managed-node(s).
- use Ansible from the command line
- create and run playbooks
- use standard Ansible modules
- create custom modules
- create and modify hosts definitions
- create and use roles
- design a ‘best practice’ strategy for using Ansible capabilities
- understand the usage and capabilities of Ansible Tower
Prerequisites
It is assumed that participants are working systems administrators / developers with some scripting knowledge (bash, ksh, Perl or Python) and an understanding of the various system tasks relating to setting up and supporting Linux systems.
Outline
Introduction
- software development (cycle) considerations
- strengths and weaknesses of Ansible
- Ansible terminology
- Ansible required environment setup
Initial Setup and Configuration
- prerequisites
- Ansible download and installation (package method)
- Ansible configuration file
- inventory (hosts) file
- system facts
- local facts
Ansible (ad-hoc) Command Line Usage
- installing packages
- controlling services
- manipulating user accounts
- creating cron jobs
- (general) command execution
Ansible Playbooks
- variable creation and usage
- sections : targets, variables, tasks, handlers, blocks, other clauses
- controlling : lookups, RunOnce, LocalActions, Loops, Conditionals, Tags
- running as root
Ansible Modules
- layout of an Ansible module
- creation of an Ansible module
- modules : file, yum, service, cron, user, script, stat, shell, package, filesystem
- modules : mount, acl, ping, setup, setfact, (and others)
Roles in Ansible
- overview of a role
- creating a role (structure)
- using (a) role(s)
- Ansible Galaxy – capabilities and usage with roles
(Introduction to) Ansible Tower (by Red Hat)
- the dashboard
- job scheduling, status, and tracking
- watching and chaining (multi-) playbooks
- controlling and viewing logs and audit trails
- notifications
- remote command execution
Other courses to explore:
Puppet Configuration and Administration – Onsite, Lowest Price