Ansible Configuration and Administration for Developers: Part 1 – 3 Days
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.
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 software developers with some scripting knowledge (bash, ksh, Perl or Python) and a basic understanding of the various system tasks relating to setting up and supporting the features of a Linux system.
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
Other courses to explore:
Ansible Configuration and Administration for Developers: Part 2