ansible-pull
выполняет плейбуки из репозитория VCS для локального хоста
Описание
usage: ansible-pull [-h] [--version] [-v] [-k]
[--private-key PRIVATE_KEY_FILE] [-u REMOTE_USER]
[-c CONNECTION] [-T TIMEOUT]
[--ssh-common-args SSH_COMMON_ARGS]
[--sftp-extra-args SFTP_EXTRA_ARGS]
[--scp-extra-args SCP_EXTRA_ARGS]
[--ssh-extra-args SSH_EXTRA_ARGS] [--vault-id VAULT_IDS]
[--ask-vault-password | --vault-password-file VAULT_PASSWORD_FILES]
[-e EXTRA_VARS] [-t TAGS] [--skip-tags SKIP_TAGS]
[-i INVENTORY] [--list-hosts] [-l SUBSET] [-M MODULE_PATH]
[-K] [--purge] [-o] [-s SLEEP] [-f] [-d DEST] [-U URL]
[--full] [-C CHECKOUT] [--accept-host-key]
[-m MODULE_NAME] [--verify-commit] [--clean]
[--track-subs] [--check] [--diff]
[playbook.yml [playbook.yml ...]]
Описание
Используется для извлечения удаленной копии ansible на каждом управляемом узле, каждый из которых настроен на выполнение через cron и обновление исходного плейбука через репозиторий исходного кода. Это инвертирует стандартную архитектуру push ansible в архитектуру pull, которая имеет практически неограниченные возможности масштабирования.
Плейбук настройки можно настроить для изменения частоты cron, расположения журналов и параметров ansible-pull. Это полезно как для экстремального масштабирования, так и для периодической коррекции. Использование модуля ‘fetch’ для извлечения журналов из выполнения ansible-pull было бы отличным способом сбора и анализа удаленных журналов ansible-pull.
Общие параметры
-
--accept-host-key -
добавляет ключ хоста для URL репозитория, если он ещё не добавлен
-
--ask-vault-password, --ask-vault-pass -
запрашивает пароль vault
-
--check -
не вносить никаких изменений; вместо этого попытаться предсказать некоторые возможные изменения
-
--clean -
измененные файлы в рабочем репозитории будут удалены
-
--diff -
при изменении (небольших) файлов и шаблонов отобразить различия в этих файлах; отлично работает с –check
-
--full -
Выполнить полное клонирование, а не поверхностное.
-
--list-hosts -
выводит список соответствующих хостов; не выполняет никаких других действий
-
--private-key <PRIVATE_KEY_FILE>, --key-file <PRIVATE_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-pass-file -
файл пароля vault
-
--verify-commit -
проверить подпись GPG провеенной коммита, при ошибке прервать выполнение плейбука. Для этого требуется, чтобы соответствующий модуль VCS поддерживал такую операцию
-
--version -
отобразить номер версии программы, расположение файла конфигурации, путь поиска конфигурируемых модулей, расположение модулей, расположение исполняемого файла и выйти
-
-C <CHECKOUT>, --checkout <CHECKOUT> -
ветка/тег/коммит для проверки. По умолчанию соответствует поведению модуля репозитория.
-
-K, --ask-become-pass -
запросить пароль для повышения привилегий
-
-M, --module-path -
добавить двоеточие, разделенные путями к библиотеке модулей (по умолчанию =~/.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 для получения полного списка авторов.
Лицензия
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–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/cli/ansible-pull.html