Warning: Declaration of action_plugin_safefnrecode::register(Doku_Event_Handler &$controller) should be compatible with DokuWiki_Action_Plugin::register($controller) in /usr/home/www/rtfm/lib/plugins/safefnrecode/action.php on line 14

Warning: Declaration of action_plugin_popularity::register(&$controller) should be compatible with DokuWiki_Action_Plugin::register($controller) in /usr/home/www/rtfm/lib/plugins/popularity/action.php on line 57

Warning: Cannot modify header information - headers already sent by (output started at /usr/home/www/rtfm/lib/plugins/safefnrecode/action.php:14) in /usr/home/www/rtfm/inc/auth.php on line 377

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /usr/home/www/rtfm/inc/auth.php on line 656

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /usr/home/www/rtfm/inc/auth.php on line 656

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /usr/home/www/rtfm/inc/auth.php on line 656

Warning: Cannot modify header information - headers already sent by (output started at /usr/home/www/rtfm/lib/plugins/safefnrecode/action.php:14) in /usr/home/www/rtfm/inc/actions.php on line 187
freebsd:ansible [FreeBSD - Записки математика]

Ansible

Предисловие

Ansible - это система управления конфигурациями, написанная на python. От клиентов требуется только установленный python и работающий ssh-сервер. Требуемая конфигурация системы описывается с помощью yml-файлов.

Структура проекта

Важно изначально правильно структурировать данные

ansible/
  group_vars/
    freebsd/
    docker/
    linux/
  host_vars/
    alpine/
    template0/

Структура файла

Модуль command

Выполняет команду со списком аргументов. Не подхватывает переменные окружения. Если задан параметр creates, то команда выполняется, если указанный в ней файл не существует. Параметр removes, наоборот, инициирует выполнение команды, если файл существует.

- name: Execute command if mydir/file_name doesn't exists
    command: command arg1 arg2
  args:
    chdir: mydir/
    creates: file_name

Модуль shell

Выполняет команду со списком аргументов. В отличие от command, выполнение производится через shell, то есть команда может использовать переменные среды. Параметр executable меняет shell-оболочку на заданную.

- name: Csh executes command if mydir/file_name doesn't exists
    shell: script.sh arg1 arg2
  args:
    chdir: mydir/
    creates: file_name
    warn: False
    executable: /bin/csh

Модуль stat

Модуль debug

Vault

Создание, редактирование и просмотр шифрованного файла

Для создания используется команда

# ansible-vault create имя_файла

, для редактирования -

# ansible-vault edit имя_файла

, для просмотра -

# ansible-vault view имя_файла

Для шифрования готового файла используем команду

# ansible-vault encrypt имя_файла

Использование в сценариях

Если плэйбук содержит шифрованные данные, то используем одну из команд:

# ansible-playbook book.yml --ask-vault-pass

или

# ansible-playbook book.yml --vault-password-file password.txt

Первая команда интерактивна, во второй файл с паролем должен содержать ровно одну строчку.


Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /usr/home/www/rtfm/inc/auth.php on line 656
freebsd/ansible.txt · Последние изменения: 2019/03/01 15:17 — ladilova
Наверх
CC Attribution-Noncommercial-Share Alike 3.0 Unported
chimeric.de = chi`s home Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0