Welcome & the Lab

Ansible for Proxmox VE · Dutch Proxmox Day 2026

credativ GmbH

Alexander Wirt & credativ

Alexander Wirt

  • CTO & Co-Owner, credativ (at credativ since 2004)
  • Open Source since 1998
  • Debian Developer since 2003 (formorer)
  • Focus: Linux infrastructure, Debian, automation & Proxmox VE
  • alexander.wirt@credativ.de

credativ

  • Open Source consulting & support since 1999
  • 24/7/365 enterprise operations & support
  • Debian, PostgreSQL, Kubernetes, Ceph, Proxmox VE
  • Independent, vendor-neutral engineering

The plan

01 Ansible in 30 minutes — inventory, ad-hoc, idempotency 30
02 Your first playbook — repositories, packages, time 30
03 Forming the cluster — what the title promises 40
Break 10
04 From playbook to role — structure that survives 25
05 Operating the cluster — storage, users, a guest 45
06 Dynamic inventory — the cluster describes itself 10
07 Where to go next 5

What we leave out

  • No general Ansible deep dive: we cover what this setup requires
  • No high availability, Ceph, or complex SDN
  • No production secret management in the lab (simple variables for speed)

Those are topics for dedicated follow-ups.

Your lab

Machine Role Address
desktop Ansible control node (your desktop) 192.168.0.254
pve01 Proxmox VE node 1 → cluster primary 192.168.0.1
pve02 Proxmox VE node 2 192.168.0.2
pve03 Proxmox VE node 3 192.168.0.3

Log in as root with the password password123 — the same on all three nodes, for SSH and for the web GUI on :8006.

Every participant has an identical, isolated set.

Set up your desktop

Everything is on the share already mounted on your desktop. Run it once:

~/Desktop/workshop/deploy.sh
  • ~/ansible-proxmox — the project you work in
  • ~/ansible-venv — Ansible with the Proxmox collection, put on your PATH
  • ~/workshop-slides — these slides
  • an SSH key, installed on all three nodes, so nothing asks you for a password

Then open a new terminal, or the PATH change is not in effect.

Where the sheets are

~/Desktop/workshop/index.html

Open it once and keep the tab. Every module has a handout — the reference, with more detail than these slides — and an exercise sheet. That page links all of them, plus the cheat sheet and the bonus exercises.

Checkpoint before we start

On desktop, in a terminal:

ansible --version              # expect core 2.17 or newer
ansible-galaxy collection list community.proxmox
ssh root@192.168.0.1 'pveversion'

No password and no host key question: deploy.sh handled both. If any of these fail, say so now.

If ansible --version looks wrong

Ansible runs from a virtualenv on this desktop, and it should already be on your PATH. If the version is older than 2.17, or community.proxmox is missing, you are using the system Ansible instead:

which ansible                       # expect ~/ansible-venv/bin/ansible
source ~/ansible-venv/bin/activate  # only if it is not

Why a virtualenv: the collection community.proxmox 2.x needs a newer proxmoxer than Debian ships, and the packaged collection is missing two modules we use.

You do not have to type everything

~/ansible-proxmox is not an empty directory:

cd ~/ansible-proxmox
ansible-playbook playbooks/00-check.yml
  • inventory and configuration are complete; the addresses are the same for everyone
  • every playbook is a skeleton with the right task names and structure, and a TODO where the content goes

Writing the files yourself works too. The exercise sheets contain everything either way.