Ansible 301 - Customizing Ansible
     
 
    
      
        
  
  
      
        
           Skip to Scheduled Dates
        
      Course Overview
      This course is designed to move students beyond Ansible Essentials, and joins Ansible with other DevOps skill sets, including: Python scripting, utilizing Ansible Galaxy, running automated solutions with Jenkins, syncing code with Git and GitHub, continuous integration, debugging / linting, and much more! The lessons are built around current concepts observed within enterprises using Ansible. Class is a combination of lecture by demonstration, coding along with the instructor, and hands-on labs. Students are invited to help customize this course by bringing their own projects, solutions, and ideas to ensure class subjects remain as relevant as possible.
    
  
  
      Who Should Attend
    
       -  DevOps Engineers
 
 -   System and Cloud Administrators
 
 -   Network Engineers and Developers
 
 -  Python Developers
 
    
  
  
      Course Objectives
    
      
- Advanced Ansible skills and tools
 
- Creating your own collection
 
- Writing your own Ansible plugin module or other plugins
 
- Playbook and solution architecture including best practices and solutions throughout industry
 
- Creating Execution Environments
 
- ansible-builder
 
- ansible-runner
 
- AI LLM prompt engineering for relevant configuration snippets and solutions
 
    
      
    
  
  
	
  
  
	
  
  
	
  Course Outline
    
            
                Introduction to Environment
- Running with GitHub
 
- Syncing Git and GitHub
 
- Cloning repos
 
- Commits
 
- Push and Pull operations
 
- Master and Branches
 
- Documenting work
 
- Moving HEAD
 
- GitHub Desktop for GUIs
 
Ansible and Jenkins
- Syncing GitHub Playbooks to Jenkins
 
- Running Playbooks with Jenkins
 
- Building Jenkins Jobs
 
- Jenkins and Plugins to know
 
Roles and Galaxy
- Building an Ansible Role
 
- Role Testing with Molecule
 
- Using a Role within a Playbook (review)
 
- Pushing Role to GitHub
 
- Syncing Ansible Galaxy to GitHub
 
- Making Role Highly Available with Galaxy
 
- Updating Roles on Galaxy
 
- Documenting Roles
 
Advanced Ansible
- Blocks & Rollback
 
- Asynchronous Actions and Polling
 
- Check Mode (“Dry Run”)
 
- Playbook Debugger
 
- Delegation, Rolling Updates, and Local Actions
 
- Setting the Environment (and Working With Proxies)
 
- Working With Language-Specific Version Managers
 
- Error Handling In Playbooks
 
- Advanced Syntax
 
- Working With Plugins
 
- Prompts
 
- Tags
 
- Using Vault in playbooks
 
- Start and Step
 
- Playbook Keywords
 
- Lookups
 
- Module defaults
 
Python Catchup & Review
- Overview of Python and Ansible
 
- Conditional expressions
 
- Relational and Boolean operators
 
- Using Paramiko to SSH with keys and passwords
 
- Python and Jinja templating
 
Python in Playbooks
- Using methods within playbooks
 
- Python methods vs Jinja2 filters
 
- Calling Scripts with Ansible
 
- Writing Python Scripts for Customer Environment
 
- Returning JSON when our script finishes
 
- Ansible callback plugins - returning data other than JSON
 
Extending the Ansible Library
- Extending Ansible to support (Your Unsupported Ansible Vendor Here)
 
- Galaxy for new Ansible modules
 
- GitHub for new Ansible modules
 
Indexing and slicing
- Built-in functions
 
- Writing custom functions
 
- Getting at methods
 
- Iterating with Loops (for and while)
 
- Working with files
 
- Getting at RESTful interfaces with Python
 
- Working with JSON
 
- Python, Ansible and Paramiko
 
Creating Ansible Modules
- Writing a Python Script
 
- Adopting a Python Script to function as a Ansible Module
 
- Pushing our new module to GitHub
 
- Documenting our new module
 
- Classes of Ansible Modules available
 
Ansible and for Enterprise
- Hiding credentials
 
- Using Ansible Vault
 
- Collaborating on Playbooks
 
- Options for logging results
 
- Options for running Ansible Jobs in an Enterprise
 
- - Jenkins
 
- - Ansible Towew
 
- - Logging Results
 
- - Rolling Back bad jobs & other jobs
 
             
        
 
     
    
    < Back to Course Search
     
    
    Class times are listed Eastern time
    
        This is a 4-day class
        
		
  Class dates not listed.
Please contact us for available dates and times.