Mit Ansible ist es sehr einfach, auf den verwalteten Rechnern Software zu verteilen. Vorbei sind die Zeiten, in denen Applikationen „gepusht“ und dann abgewartet wurde, ob sie auch wirklich „angekommen“ sind.
Diese Anleitung steht für sich allein, knüpft aber an folgende Beiträge an:
Das folgende Playbook für Linux-Systeme mit dem yum-Paketmanager stellt zum Beispiel sicher, dass auf allen Maschinen der Texteditor und die neueste in den Paketquellen verfügbare Version des Dateimanagers Midnight Commander installiert sind:
---
- hosts: all
tasks:
- name: Install text editor nano.
yum:
name: nano
state: present
- name: Install Midnight Commander.
yum:
name: mc
state: latest
...
Für Linux-Distributionen mit APT-Paketmanager wie Ubuntu oder Debian sieht das Playbook wie folgt aus:
---
- hosts: all
tasks:
- name: Install text editor nano.
apt:
name: nano
state: present
- name: Install Midnight Commander.
apt:
name: mc
state: latest
...
Mit Blick auf beide Playbooks ahnt man schon, dass auch Software-Updates (inklusive Betriebssystem-Updates) mit Ansible trivial sind: Das Paar state: latest
sorgt dafür, dass die neueste in den Paketquellen verfügbare Version der Software auf der Maschine installiert wird, wenn sie nicht bereits installiert ist. Auch die Installation einer bestimmten Version ist möglich, indem man den genauen Paketnamen bei name
angibt, zum Beispiel nano-2.3.1-10.el7.x86_64
.
Das ist natürlich eine sehr vereinfachte Form von gesteuerten Software-Installationen und Updates, wie sie aber letztlich komplizierter auch mit anderen bekannten Software-Deployment-Tools bewerkstelligt werden. Ansible besticht hier durch seine Einfachkeit, bietet aber auch komplexere Möglichkeiten, die den Rahmen dieses Beitrags sprengen würden.