What Ansible gets right in my opinion is free and open‑source
software, which makes the software much more secure because
everybody can inspect all of its bits.
Another enormous advantage, what Ansible gets right,
is an agentless architecture.
You'll notice that because it's using SSH in a Linux environment and
WinRM and PowerShell in a Windows environment,
notice that there's no need to manage an update and
patch a separate piece of software.
We can use SSH in Windows, but it's experimental at this point.
I would suggest you go with WinRM for security.
I mentioned that the configuration syntax is simple YAML format.
You don't have to be a Python developer really unless you
want to build your own custom modules.
Okay, so this is a lot that Ansible gets right for free.
And some examples of integrating Ansible with other tools,
you can automate playbook deployment by putting your playbooks in Git
repositories such that whenever a playbook is updated,
it gets reassigned, whatever you want to do.
All of your DevOps, CI/CD processes are fully compatible with Ansible.
Jenkins is a CI/CD platform.
You can create Jenkins build and release pipelines to trigger
playbooks to do continuous deployment on Windows servers.
So just know that there's a vista of possibility and
flexibility when you're using Ansible.
Yes, even in a Microsoft Windows environment.
How do we set up an Ansible control node in a Windows‑only environment?
Well, we're going to install Ansible on WSL2.
We're talking Windows Server 2019 or later.
We're going to need to configure Windows Remote Management,
and Ansible provides or should I say Red Hat provides a PowerShell script.
I include a copy of that script in the exercise files that
makes it just simple to get your nodes, your Windows nodes,
ready to be managed by Ansible.
You'll want to set up your plain text inventory and
config files on the control server.
You'll want to set up your specific, if you're using Kerberos or CredSSP,
WinRM, you want to set that all up.
I'll show you how that works.
And then you can test connectivity using the Ansible command line
interface using the built‑in module win_ping.
I'll do all this in a demo.
Our lab environment is entirely in Azure, but that really doesn't matter.
I'm using an Azure Bastion jump post to come into an Active Directory domain
controller that also serves as the Ansible control node.
And that Ansible control node in WSL2 will manage both our control1
domain controller, as well as our node1 member server.
Simple as that.
Let's get into that demo.