ansible-pull
вытягивает playbook из репозитория 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 и обновление исходного кода playbook через репозиторий. Это инвертирует стандартную архитектуру push ansible в архитектуру pull, что имеет практически неограниченный потенциал масштабирования.
Настройка playbook может быть настроена для изменения частоты 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 -
очистить рабочую копию после выполнения playbook
-
--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 проверенной коммита, в случае неудачи прервите выполнение playbook. Для этого необходимо, чтобы соответствующий модуль 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 репозитория playbook
-
-c <CONNECTION>, --connection <CONNECTION> -
тип подключения для использования (по умолчанию=smart)
-
-d <DEST>, --directory <DEST> -
каталог для проверки репозитория
-
-e, --extra-vars -
установка дополнительных переменных в виде ключ=значение или YAML/JSON, если имя файла начинается с @
-
-f, --force -
выполнение playbook, даже если репозиторий не мог быть обновлен
-
-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 -
выполнить playbook только в том случае, если репозиторий был обновлен
-
-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–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/cli/ansible-pull.html