Поиск…


обзор

В Ansible, playbook - это файл YAML, содержащий определение того, как должен выглядеть сервер. В игровой книге вы определяете, какие действия должны предпринять Ansible, чтобы получить сервер в нужном вам состоянии. Выполняется только то, что вы определяете.

Это базовая загрузочная игра Ansible, которая устанавливает git на каждый хост, принадлежащий к web группе:

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

Структура Playbook

Формат пьесы довольно прост, но строгий с точки зрения расстояния и макета. Плей-лист состоит из пьес. Игра представляет собой комбинацию целевых хостов и задач, которые мы хотим применить на этих хостах, поэтому рисунок учебника:

Изобразительное представление Ansible playbook

Для выполнения этой пьесы мы просто запускаем:

ansible-playbook -i hosts my_playbook.yml

Структура игры

Вот простая игра:

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

Как мы говорили ранее, каждая игра должна содержать:

  • Набор хостов для настройки

  • Список задач, которые должны выполняться на этих хостах

Подумайте о игре как о том, что связывает хосты с задачами. Помимо указания хостов и задач, игры также поддерживают ряд дополнительных настроек. Два общих:

  • name : комментарий, который описывает, о чем идет речь. Ansible распечатает это, когда начнется воспроизведение
  • vars : список переменных и значений

Теги

Игра содержит несколько задач, которые могут быть отмечены:

- 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

Задача с тегом «vim» будет выполняться, когда «vim» указан в тегах. Вы можете указать столько тегов, сколько хотите. Полезно использовать теги, такие как «install» или «config». Затем вы можете запустить playbook с указанием тегов или пропусков. За

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

По умолчанию Ansible запускает все теги



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow