Course Description
This course presents the system management and configuration tool Ansible, from methods, techniques, capabilities to implementation. Each participant will learn how to configure an 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 the synchronization of environments easily and uniformly, to apply to Linux, Unix and Windows systems.
LIN300 is the third course in the DevSecOps Certificate. To complete the certificate students will also enroll in DEV510, & DEV520. Click on each course link for more details and to add to cart.
Course Outline
Introduction
- Software development (cycle) considerations
- Strengths and weaknesses of Ansible
- Ansible terminology
- Ansible required environment setup
Initial Setup and Configuration
- Ansible Core installation methods: rpm, pip, and Tower
- Ansible component locations
- Ansible documentation
- Ansible configuration file
- Inventory (hosts) file contents (Linux and Windows nodes) (gathering) system facts (methods)
- Using system facts
Ansible Playbooks
- Layout of playbook sections: directives, variable definitions, tasks, handlers, module modifiers
- Variable creation and usage
- Using modules in playbooks
- Controls: loops, conditionals, tags, notifications, plugins, filters, and lookups
- Running as root
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
Roles in Ansible
- Overview of a role
- Creating a role (structure)
- Using (a) role(s)
- Packaging up a role
- Ansible Galaxy - capabilities and usage with roles
- Git repo (role) repository (creation)
- Local access of a Git repo role repository
- Remote access of a Git repo role repository
Managed Nodes
- Requirements for a Linux managed node
- Inventory and access control information on the control node
- Setup of a Linux managed node
- Requirements for a Windows managed node
- Setup of a Windows managed node
Ansible Tower
- Comparison of Ansible Tower and Ansible AWX
- Installation of Ansible Tower
- Using the Ansible Tower (dashboard)
- Define Ansible Tower user accounts
- 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
Learner Outcomes
At the completion of the course, participants should be able to:
- Configure Ansible control-node and managed-node(s)
- Create and run playbooks
- Use standard Ansible modules
- Create and modify hosts (inventory) definitions
- Roles: create, install and access with the Ansible Galaxy
- Design a 'best practice' strategy for using Ansible capabilities
- Learn the usage and capabilities of the 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.Duration
18 Hours | 3 Days or 6 NightsApplies Towards the Following Certificates
- DevSecOps for Software Engineers and Architects Boeing Certificate : Choose 60 Hours
- DevSecOps/DevOps I Professional Certificate : Required
*Academic Unit eligibility to be determined by college/university in which you are enrolled in a degree seeking program.