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:

Bildliche Darstellung eines Ansible-Spielbuchs

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



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow