ansible-pull
выполняет playbook из репозитория VCS на целевом хосте
Синтаксис
usage: ansible-pull [-h] [--version] [-v] [--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]
[-k | --connection-password-file CONNECTION_PASSWORD_FILE]
[--vault-id VAULT_IDS]
[-J | --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 | --become-password-file BECOME_PASSWORD_FILE]
[--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 ...]
Описание
Используется для загрузки удаленной копии ansible на каждый управляемый узел, каждый из которых настроен на запуск через cron и обновление исходного playbook через репозиторий исходного кода. Это инвертирует стандартную архитектуру push ansible в архитектуру pull, которая имеет практически неограниченный потенциал масштабирования.
Ни один из инструментов командной строки не предназначен для одновременного запуска, вы должны использовать внешний планировщик и/или блокировку, чтобы гарантировать отсутствие конфликтов операций.
Настройка playbook может быть настроена для изменения частоты cron, расположения журналов и параметров ansible-pull. Это полезно как для экстремального масштабирования, так и для периодической устранения неполадок. Использование модуля «fetch» для получения журналов из запусков ansible-pull было бы отличным способом сбора и анализа удаленных журналов из ansible-pull.
Общие параметры
-
--accept-host-key -
добавляет хост-ключ для URL-адреса репозитория, если он еще не добавлен
-
--become-password-file <BECOME_PASSWORD_FILE>, --become-pass-file <BECOME_PASSWORD_FILE> -
Файл пароля для повышения привилегий
-
--check -
не вносить изменений; вместо этого попытаться предсказать некоторые изменения, которые могут произойти
-
--clean -
измененные файлы в рабочей ветке будут отброшены
-
--connection-password-file <CONNECTION_PASSWORD_FILE>, --conn-pass-file <CONNECTION_PASSWORD_FILE> -
Файл пароля подключения
-
--diff -
при изменении (небольших) файлов и шаблонов, отобразить различия в этих файлах; отлично работает с –check
-
--full -
Выполнить полное клонирование вместо поверхностного.
-
--list-hosts -
выводит список совпадающих хостов; ничего больше не выполняет
-
--private-key <PRIVATE_KEY_FILE>, --key-file <PRIVATE_KEY_FILE> -
использовать этот файл для аутентификации подключения
-
--purge -
очистить checkout после выполнения playbook
-
--scp-extra-args <SCP_EXTRA_ARGS> -
указать дополнительные аргументы для передачи только scp (например, -l)
-
--sftp-extra-args <SFTP_EXTRA_ARGS> -
указать дополнительные аргументы для передачи только sftp (например, -f, -l)
-
--skip-tags -
выполнять только те задачи и play, у которых теги не соответствуют этим значениям. Этот аргумент можно указывать несколько раз.
-
--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> -
ветка/тег/коммит для создания checkout. По умолчанию используется поведение модуля репозитория.
-
-J, --ask-vault-password, --ask-vault-pass -
запросить пароль vault
-
-K, --ask-become-pass -
запросить пароль для повышения привилегий
-
-M, --module-path -
добавить двоеточием отделенные пути к библиотеке модулей (по умолчанию={{ ANSIBLE_HOME ~ “/plugins/modules:/usr/share/ansible/plugins/modules” }}). Этот аргумент можно указывать несколько раз.
-
-T <TIMEOUT>, --timeout <TIMEOUT> -
переопределить таймаут подключения в секундах (по умолчанию зависит от подключения)
-
-U <URL>, --url <URL> -
URL репозитория playbook
-
-c <CONNECTION>, --connection <CONNECTION> -
тип подключения для использования (по умолчанию=ssh)
-
-d <DEST>, --directory <DEST> -
путь к каталогу, в который Ansible создаст checkout репозитория.
-
-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 будет использовать для checkout репозитория. Варианты: (‘git’, ‘subversion’, ‘hg’, ‘bzr’). По умолчанию используется git.
-
-o, --only-if-changed -
выполнить playbook только если репозиторий был обновлен
-
-s <SLEEP>, --sleep <SLEEP> -
подождать случайный интервал (от 0 до n секунд) перед запуском. Это полезный способ рассеивания запросов git
-
-t, --tags -
выполнять только те задачи и play, у которых есть теги с этими значениями. Этот аргумент можно указывать несколько раз.
-
-u <REMOTE_USER>, --user <REMOTE_USER> -
подключаться как этот пользователь (по умолчанию=None)
-
-v, --verbose -
Принуждает Ansible печатать больше сообщений отладки. Добавление нескольких -v увеличит подробность, встроенные плагины в настоящее время оценивают до -vvvvvv. Разумный уровень для начала -vvv, отладка соединения может потребовать -vvvv. Этот аргумент можно указывать несколько раз.
АРГУМЕНТЫ
-
playbook.yml -
Имя одного из файлов формата YAML для запуска как playbook Ansible. Это может быть относительный путь внутри checkout. По умолчанию Ansible будет искать playbook, основанный на полном доменном имени хоста, на имени хоста и, наконец, playbook под именем local.yml.
Окружение
Следующие переменные окружения могут быть указаны.
ANSIBLE_INVENTORY – Переопределение файла инвентаризации ansible по умолчанию
ANSIBLE_LIBRARY – Переопределение пути к библиотеке модулей ansible по умолчанию
ANSIBLE_CONFIG – Переопределение файла конфигурации ansible по умолчанию
Множество других доступно для большинства параметров в ansible.cfg
Файлы
/etc/ansible/hosts – Файл инвентаризации по умолчанию
/etc/ansible/ansible.cfg – Файл конфигурации, используемый при наличии
~/.ansible.cfg – Файл конфигурации пользователя, переопределяет файл конфигурации по умолчанию при наличии
Лицензия
Ansible распространяется на условиях лицензии GPLv3+.
См. также
ansible(1), ansible-config(1), ansible-console(1), ansible-doc(1), ansible-galaxy(1), ansible-inventory(1), ansible-playbook(1), ansible-vault(1)
© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/cli/ansible-pull.html