ansible-pull
вытягивает плейбуки из репозитория VCS и выполняет их для локального хоста
Синопсис
ansible-pull -U <repository> [options] [<playbook.yml>]
Описание
используется для копирования удалённой копии ansible на каждый управляемый узел, каждый из которых настроен на выполнение через cron и обновление исходного плейбука через репозиторий исходного кода. Это инвертирует стандартную архитектуру *push* ansible в архитектуру *pull*, которая обладает практически неограниченным потенциалом масштабирования.
Настраиваемый плейбук можно настроить для изменения частоты cron, расположения журналов и параметров ansible-pull. Это полезно как для экстремального масштабирования, так и для периодической коррекции. Использование модуля ‘fetch’ для получения журналов из запусков ansible-pull будет отличным способом сбора и анализа удалённых журналов ansible-pull.
Общие параметры
-
--accept-host-key -
добавляет ключ хоста для URL репозитория, если он ещё не добавлен
-
--ask-su-pass -
запрашивает пароль su (устарело, используйте become)
-
--ask-sudo-pass -
запрашивает пароль sudo (устарело, используйте become)
-
--ask-vault-pass -
запрашивает пароль vault
-
--check -
не вносит изменений; вместо этого пытается спрогнозировать некоторые изменения, которые могут произойти
-
--clean -
изменённые файлы в рабочем репозитории будут отброшены
-
--diff -
при изменении (небольших) файлов и шаблонов показываются различия в этих файлах; отлично работает с –check
-
--full -
Выполнить полное клонирование вместо неполного.
-
--list-hosts -
выводит список соответствующих хостов; ничего больше не выполняет
-
--private-key, --key-file -
используйте этот файл для аутентификации соединения
-
--purge -
очистить ветку после выполнения плейбука
-
--scp-extra-args <SCP_EXTRA_ARGS> -
укажите дополнительные аргументы для передачи только scp (например, -l)
-
--sftp-extra-args <SFTP_EXTRA_ARGS> -
укажите дополнительные аргументы для передачи только sftp (например, -f, -l)
-
выполнить только те плей и задачи, теги которых не совпадают с этими значениями
-
--ssh-common-args <SSH_COMMON_ARGS> -
укажите общие аргументы для передачи sftp/scp/ssh (например, ProxyCommand)
-
--ssh-extra-args <SSH_EXTRA_ARGS> -
укажите дополнительные аргументы для передачи только ssh (например, -R)
-
--track-subs -
подмодули будут отслеживать последние изменения. Это эквивалентно указанию флага –remote для git submodule update
-
--vault-id -
идентификатор vault для использования
-
--vault-password-file -
файл пароля vault
-
--verify-commit -
проверить подпись GPG проверенного коммита, если проверка завершится с ошибкой, выполнение плейбука будет прервано. Это требует поддержки соответствующим модулем VCS такой операции
-
--version -
показать номер версии программы и выйти
-
-C <CHECKOUT>, --checkout <CHECKOUT> -
ветка/тег/коммит для проверки. По умолчанию используется поведение модуля репозитория.
-
-K, --ask-become-pass -
запросить пароль для повышения привилегий
-
-M, --module-path -
добавить двоеточие, разделённый путь(и) к библиотеке модулей (по умолчанию=[‘/root/.ansible/plugins/modules’, ‘/usr/share/ansible/plugins/modules’])
-
-T <TIMEOUT>, --timeout <TIMEOUT> -
переопределяет таймаут соединения в секундах (по умолчанию=10)
-
-U <URL>, --url <URL> -
URL репозитория плейбука
-
-c <CONNECTION>, --connection <CONNECTION> -
тип соединения для использования (по умолчанию=smart)
-
-d <DEST>, --directory <DEST> -
директория, в которую будет проверен репозиторий
-
-e, --extra-vars -
установить дополнительные переменные в виде key=value или YAML/JSON, если имя файла начинается с @
-
-f, --force -
выполнить плейбук, даже если репозиторий не смог обновиться
-
-h, --help -
показать это сообщение справки и выйти
-
-i, --inventory, --inventory-file -
укажите путь к хосту инвентаризации или список хостов через запятую. –inventory-file устарел
-
-k, --ask-pass -
запросить пароль соединения
-
-l <SUBSET>, --limit <SUBSET> -
дальнейшее ограничение выбранных хостов дополнительным шаблоном
-
-m <MODULE_NAME>, --module-name <MODULE_NAME> -
Имя модуля репозитория, который ansible будет использовать для проверки репозитория. Доступные варианты: (‘git’, ‘subversion’, ‘hg’, ‘bzr’). По умолчанию используется git.
-
-o, --only-if-changed -
выполнить плейбук только в том случае, если репозиторий был обновлён
-
-s <SLEEP>, --sleep <SLEEP> -
подождать случайный интервал (между 0 и n секундами) перед запуском. Это полезный способ распределения запросов git
-
выполнить только те плей и задачи, которые имеют эти теги
-
-u <REMOTE_USER>, --user <REMOTE_USER> -
подключиться под этим пользователем (по умолчанию=None)
-
-v, --verbose -
подробный режим (-vvv для большего, -vvvv для включения отладки соединения)
Окружение
Можно указать следующие переменные окружения.
ANSIBLE_CONFIG – переопределить файл конфигурации ansible по умолчанию
Множество других доступны для большинства параметров в ansible.cfg
Файлы
/etc/ansible/ansible.cfg – Файл конфигурации, используется, если присутствует
~/.ansible.cfg – Пользовательский файл конфигурации, переопределяет файл конфигурации по умолчанию, если присутствует
Автор
Ansible первоначально был написан Майклом ДеХаном.
См. файл AUTHORS для полного списка авторов.
Авторские права
Авторские права © 2017 Red Hat, Inc | Ansible.
Ansible распространяется на условиях лицензии GPLv3.
См. также
ansible(1), ansible-config(1), ansible-console(1), ansible-doc(1), ansible-galaxy(1), ansible-inventory(1), ansible-playbook(1), ansible-pull(1), ansible-vault(1),
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.7/cli/ansible-pull.html