Lesson 2 / 26
Installing and Your First Command
Install Ansible, check the version and run an ad-hoc command against hosts.
Install on the control node only
Install Ansible on one machine (your laptop or a build server): on Debian/Ubuntu with sudo apt install ansible, or with pipx install ansible / pip install ansible. Managed hosts need only SSH and Python. An ad-hoc command runs one module once, without a playbook, for quick checks: ansible <hosts> -m <module> -a "<args>". The ping module checks that Ansible can connect and run Python; it is not an ICMP ping.
Ping the web group
I ran this on this machine with ansible_connection=local hosts (so no SSH is needed for the demo). pong means the module ran successfully.
ansible --version | head -1
ansible -i inventory.ini web -m ping
Output:
ansible [core 2.16.3]
web1 | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python3"
},
"changed": false,
"ping": "pong"
}
web2 | SUCCESS => { ... same ... }Ad-hoc for quick facts, playbooks for repeatable work
Use ad-hoc commands to check uptime or disk space across servers. Anything you will run twice belongs in a playbook under version control.
Quick check: Where must Ansible be installed?
- Only on the control node
- On every managed host
- Inside every container image
- Nowhere, it is a website
Answer
Only on the control node — Managed hosts need only SSH and Python, not Ansible itself.