Ansible Configuration and Administration for Developers: Part 2 – 2 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. This course is a continuation of the topics and capabilities presented in the Part 1 course. More time will be spent in installing and using the Ansible Tower.
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
- learn alternate methods of installing and configuring Ansible
- see other capabilities of Ansible from the command line
- view alternate methods of running playbooks
- create custom modules (in other languages)
- create and modify (static and dynamic) hosts definitions
- use additional features of roles
- 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. It is also assumed that the participants have a working knowledge of the Ansible core, and/or have attended the Ansible Configuration and Administration (for Developers) : Part 1 course.
Outline
Initial Setup and Configuration
- Ansible alternate methods of installation
- using ansible-config with the Ansible configuration parameters
- inventory (hosts) file (static and dynamic)
- system facts (alternate locations)
- local facts
Ansible (ad-hoc) Command Line Usage
- using additional and optional options
- command vs shell vs script
Ansible Playbooks
- variable creation and usage
- sections : checking for success / failure
- additional : plugins, filters, and lookups
Ansible Modules
- layout of an Ansible module
- creation of an Ansible module (python and bash shell script)
- introduction to the Ansible (Python) API
Roles in Ansible
- overview of a role
- creating a role (structure)
- packaging up a role
- Ansible Galaxy – capabilities and usage with roles
Ansible Tower (by Red Hat)
- installing the Ansible Tower
- create user accounts (and teams)
- create inventories of systems (with credentials)
- create projects and job templates
- using the dashboard
- job scheduling (launch forms), status, and tracking
- watching and chaining (multi-) playbooks
- controlling and viewing logs and audit trails
- notifications
- remote command execution
Other courses to explore:
Ansible Configuration and Administration for Developers: Part 1