Sök…


Översikt

I Ansible är en spellista en YAML-fil som innehåller definitionen av hur en server ska se ut. I en spellista definierar du vilka åtgärder Ansible bör vidta för att få servern i det tillstånd du vill ha. Endast det du definierar blir gjort.

Detta är en grundläggande Ansible playbook som installerar git på varje värd som tillhör web :

---
- name: Git installation
  hosts: web
  remote_user: root
  tasks: 
    - name: Install Git
      apt: name=git state=present

Playbooks struktur

Formatet för en spellista är ganska enkelt, men strikt när det gäller avstånd och layout. En spellista består av pjäser. Ett spel är en kombination av målvärdar och de uppgifter vi vill tillämpa på dessa värdar, så en ritning av en spellista är detta:

Bildrepresentation av en Ansible playbook

För att köra denna spellista kör vi helt enkelt:

ansible-playbook -i hosts my_playbook.yml

Lekens struktur

Här är ett enkelt spel:

- name: Configure webserver with git
  hosts: webserver
  become: true
  vars:
    package: git
  tasks:
    - name: install git
      apt: name={{ package }} state=present

Som vi sade tidigare, måste varje pjäs innehålla:

  • En uppsättning värdar att konfigurera

  • En lista med uppgifter som ska utföras på dessa värdar

Tänk på ett spel som det som kopplar värdar till uppgifter. Förutom att ange värdar och uppgifter stöder spel också ett antal valfria inställningar. Två vanliga är:

  • name : en kommentar som beskriver vad stycket handlar om. Ansible kommer att skriva ut detta när spelet börjar köras
  • vars : en lista med variabler och värden

Tags

Spelet innehåller flera uppgifter som kan taggas:

- 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

Uppgift med tagg 'vim' körs när 'vim' anges i taggar. Du kan ange så många taggar du vill. Det är användbart att använda taggar som "installera" eller "konfigurera". Sedan kan du köra playbook med specificering av taggar eller hopptaggar. För

ansible-playbook my_playbook.yml --tags "tag1,tag2"
ansible-playbook my_playbook.yml --tags "tag2"
ansible-playbook my_playbook.yml --skip-tags "tag1"

Som standard kör alla taggar från Ansible



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow