
Explore advanced Ansible concepts, set up a development environment with VS Code, WSL, and remote SSH, and use Ansible Lint, collections, and Jinja templates for automations.
This hands-on, advanced Ansible course builds on basic knowledge with interconnected videos and practical playbooks, plus a dedicated GitHub repository and a coupon code for the beginners course.
Use the remote ssh extension in Visual Studio Code to connect to a Linux host, edit Ansible playbooks remotely, and set up an Ansible development environment with SSH key authentication.
Configure a remote SSH-based development environment in VS Code, install Ansible and Ansible Lint on a Linux target, and use the Red Hat Ansible extension to edit and lint playbooks.
Demonstrates how to use ansible-lint to check playbooks for errors and improvement suggestions, end-to-end, including fqcn, correct module parameters, and clean formatting.
Utilize Windows Subsystem for Linux with Visual Studio Code to set up an Ansible development environment and run Ansible Lint on your playbooks.
Demonstrates using an Ansible playbook to create LXC containers (web, db, load balancer), install nginx, configure a load balancer and static IPs with netplan for a web application.
Configure Ansible Lint with YAML files in the current directory or .config to tailor profiles, skip rules, and paths, then verify changes via VS Code or the command line.
Enable pre-commit hooks to automatically run Ansible Lint before every commit, configure with .precommitconfig.yaml, install pre-commit, and validate playbooks in Git version control.
Run the Ansible Lint on the Ansible Lint Exercise playbook, apply recommended fixes in VS Code over SSH, and use the fully qualified collection name (FQCN) ansible.builtin.file.
Learn how to protect credentials in Ansible playbooks using Ansible Vault, encrypting with AES-256, decrypting for execution, and avoiding plain-text passwords in version control system.
Explore credential management options beyond Ansible Vault: AWX, Semaphore UI, and HashiCorp Vault, covering credential types, encryption, and linking credentials to job templates and playbooks.
Enhance the LXC demo by adding a dedicated Ansible user with SSH key authentication, sudo access, and disabled root login to enable secure, automated configuration of containers.
Use Ansible Galaxy roles to configure web containers by installing nginx across multiple distributions. Reference gearlingguy.nginx in a compact playbook, manage variables, copy config, and verify nginx runs.
Demonstrates using jinja2 templates with ansible to generate an html page served by nginx, rendering the host name via ansible variables and deploying through the template module.
Demonstrate using for loops and if statements in Jinja templates with Ansible to generate html from AnsiblePlayHosts, linking web hosts by IP and applying filters and tests.
Set up and configure an nginx load balancer with Ansible, defining a backend group of web containers and using proxy_pass and nginx upstreams for HTTP load balancing with round-robin distribution.
Create and reuse Ansible roles by building directory structure with tasks, handlers, vars, templates, and defaults, and learn to use ansible-galaxy init to generate roles and load them in playbooks.
Explore how Ansible collections bundle playbooks, roles, modules, and plugins, manage dependencies with requirements files, and install and use them via Ansible Galaxy.
Consolidate Ansible dependencies by defining a requirements.yaml file and install all roles and collections at once with a single command, whether via Ansible Galaxy or the web interfaces.
Apply the Ansible serial parameter to update web containers one at a time by removing each container from the load balancer, updating its page, and re-adding it after nginx reload.
Enable pipelining in Ansible to speed up playbook execution by reducing required network operations; configure it in global or project Ansible.cfg and disable require tty in sudoers.
Learn how to use Ansible in pull mode to automatically pull a playbook from a Git repository, execute it locally, and run tasks non-interactively via SSH keys and cron.
Leverage Ansible inventory plugins to create a dynamic inventory for large host sets, using Proxmox and AWS, configured via YAML and the -i flag, with a graph view.
Learn to raise verbosity with -v and up to six v flags to reveal output, including apt package manager details, module arguments, SSH connections, and target system facts for troubleshooting.
Learn to simulate Ansible playbooks using check mode and diff mode to preview changes without affecting targets, with a practical haproxy example.
Configure ansible to log playbook output to external files using the logPath setting and ansible.cfg. Capture standard out and errors in YAML format for easier troubleshooting, traceability, and auditing.
Learn to shield passwords and API keys from logs and plain text by using Ansible's nolog parameter for individual tasks, with notes on playbook-wide use and encryption via Ansible Vault.
Explore how the ansible debugger lets you troubleshoot errors during execution, make on-the-fly changes to module arguments, and re-run tasks or plays without editing code.
Apply troubleshooting and debugging to intentionally provoke a playbook error, log it externally, increase verbosity, and fix the issue live with the debugger.
Use the Ansible validate parameter to verify configuration files, such as nginx, before transfer. Leverage modules like copy, template, line, and file to run validation for safe deployments.
Use the failed_when parameter to trigger errors on non-200 URI responses, and the assert module to verify conditions like nginx installation, with clear messages and optional quiet output.
Explore how Ansible can run through web interfaces with Semaphore UI and Ansible AWX, featuring centralized login, scheduled playbook runs, and encrypted credential storage for traceability.
Explore Ansible AWX through its web interface, managing playbooks, inventories, credentials, and job templates sourced from GitHub, with workflows, centralized controls, and API access.
Learn how Semaphore UI enables Ansible and other tools with a web interface, including Docker installation, Git repo integration, inventory and credential management, and scheduling playbooks.
Prepare a Windows host for Ansible using SSH or WinRM; install OpenSSH, configure firewall, set PowerShell as the default shell, and test the SSH connection before running a winping playbook.
Automate software deployment on Windows using the WinChocolaty module with Ansible, installing and upgrading packages across many hosts with scalable playbooks.
Explore the ansible.windows collection and learn to automate Windows tasks with dedicated modules like winhostname, winpackage, registry, and reboot, enabling silent installations and remote management.
Automate Windows certificate management with Ansible using the WinCertificateStore module to import, export, and remove certificates, and deploy a root certificate to Windows clients.
Execute a Windows software rollout with Ansible by installing VLC via MSI and cleaning up installers, then configure the Windows firewall to allow ICMP echo requests on all network profiles.
Master advanced Ansible techniques with hands-on load balancing, Jinja templates, collections, roles, and strategies, while using Ansible Lint, pre-commit hooks, debugging, testing, and development environment integration.
Welcome to "Ansible Advanced - Hands-On Course 2025"!
Are you a Sysadmin, DevOps Engineer, or Software Developer with basic knowledge of Ansible? Do you want to take your skills to the next level and confidently automate tasks with Ansible? Then this course is exactly right for you!
This course is all about Ansible, the powerful open-source tool for IT automation and configuration management. We help you deepen your knowledge and show you in a practical way how to implement complex tasks with Ansible. No dry theory, no boring presentations – we focus on practical application and demonstrate Ansible live on the system and in realistic scenarios.
Our agenda includes topics such as:
Setting up the Ansible development environment: incl. VSCode, WSL, and Remote-SSH Extension
Using and creating Roles
Collections: Explanation and demonstration
Debugging, Troubleshooting, and Logging
Ansible-lint: Automatically checking Playbooks for potential improvements
Jinja2 Templates: Efficiently implementing dynamic configurations
Ansible Vault: Encrypting sensitive data
Practical example: Automating web server setup incl. load balancing based on LXC containers
Web interfaces for Ansible: Practical demonstration of Ansible AWX and Semaphore UI
Speeding up and optimizing Playbooks
Our practice-oriented videos, examples, and exercises help you to directly apply what you have learned. You will understand how to effectively use advanced Ansible features, whether for homelabs or complex IT projects in enterprise environments.
Take the time to further deepen your Ansible knowledge and take your skills to the next level. Enroll in this course now and discover Ansible in a practical way!