ansible
Einführung in Playbooks
Suche…
Überblick
In Ansible ist ein Playbook eine YAML-Datei mit der Definition, wie ein Server aussehen soll. In einem Playbook legen Sie fest, welche Maßnahmen Ansible ergreifen soll, um den Server in den gewünschten Zustand zu bringen. Nur das, was Sie definieren, wird erledigt.
Dies ist ein grundlegendes ansible Textbuch , das git auf jedem Host gehört zur installiert web
- Gruppe:
---
- name: Git installation
hosts: web
remote_user: root
tasks:
- name: Install Git
apt: name=git state=present
Struktur des Spielbuchs
Das Format eines Spielbuchs ist recht unkompliziert, jedoch in Bezug auf Abstand und Layout streng. Ein Spielbuch besteht aus Spielen. Ein Spiel ist eine Kombination aus Ziel-Hosts und den Aufgaben, die auf diesen Hosts ausgeführt werden sollen. Eine Zeichnung eines Spielbuchs lautet also:
Um dieses Playbook auszuführen, führen wir einfach Folgendes aus:
ansible-playbook -i hosts my_playbook.yml
Spielstruktur
Hier ist ein einfaches Spiel:
- name: Configure webserver with git
hosts: webserver
become: true
vars:
package: git
tasks:
- name: install git
apt: name={{ package }} state=present
Wie bereits erwähnt, muss jedes Spiel Folgendes enthalten:
Eine Gruppe von zu konfigurierenden Hosts
Eine Liste von Aufgaben, die auf diesen Hosts ausgeführt werden sollen
Stellen Sie sich ein Stück als das Ding vor, das Hosts mit Aufgaben verbindet. Neben der Angabe von Hosts und Aufgaben unterstützen die Spiele auch eine Reihe optionaler Einstellungen. Zwei übliche sind:
-
name
: Ein Kommentar, der beschreibt, worum es in dem Stück geht. Ansible druckt dies aus, sobald das Spiel beginnt -
vars
: eine Liste von Variablen und Werten
Stichworte
Play enthält mehrere Aufgaben, die markiert werden können:
- name: Install applications
hosts: all
become: true
tasks:
- name: Install vim
apt: name=vim state=present
tags:
- vim
- name: Install screen
apt: name=screen state=present
tags:
- screen
Task mit dem Tag 'vim' wird ausgeführt, wenn in den Tags 'vim' angegeben ist. Sie können beliebig viele Tags angeben. Es ist nützlich, Tags wie 'install' oder 'config' zu verwenden. Dann können Sie ein Playbook mit Angabe von Tags oder Skip-Tags ausführen. Zum
ansible-playbook my_playbook.yml --tags "tag1,tag2"
ansible-playbook my_playbook.yml --tags "tag2"
ansible-playbook my_playbook.yml --skip-tags "tag1"
Standardmäßig werden alle Tags von Ansible ausgeführt