Spec-Zone.ru › Ansible

ansible-pull

получает плейбуки из репозитория 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] [--flush-cache]
                 [-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 и обновление исходного кода плейбуков из репозитория. Это преобразует стандартную архитектуру Ansible типа push в архитектуру типа pull, обладающую практически неограниченными возможностями масштабирования.

Инструменты CLI не предназначены для одновременного запуска нескольких своих экземпляров. Используйте внешний планировщик и/или блокировки, чтобы избежать конфликтующих операций.

Плейбук настройки можно изменить, чтобы задать частоту запуска 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

--flush-cache

очистить кэш фактов для каждого узла в инвентаре

--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)

--skip-tags

выполнять только те плейбуки и задачи, теги которых не совпадают с указанными значениями. Этот аргумент можно указывать несколько раз.

--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>

ветка/тег/коммит для извлечения. По умолчанию используется поведение модуля репозитория.

-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 репозитория плейбуков

-c <CONNECTION>, --connection <CONNECTION>

используемый тип подключения (по умолчанию=ssh)

-d <DEST>, --directory <DEST>

путь к каталогу, в который Ansible извлечёт репозиторий.

-e, --extra-vars

задать дополнительные переменные в формате ключ=значение или YAML/JSON; если указан файл, добавьте перед его именем символ @. Этот аргумент можно указывать несколько раз.

-f, --force

выполнить плейбук, даже если не удалось обновить репозиторий

-h, --help

показать это справочное сообщение и завершить работу

-i, --inventory, --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

-t, --tags

выполнять только плейбуки и задачи с указанными тегами. Этот аргумент можно указывать несколько раз.

-u <REMOTE_USER>, --user <REMOTE_USER>

подключаться от имени этого пользователя (по умолчанию=None)

-v, --verbose

Заставляет Ansible выводить больше отладочных сообщений. Чем больше параметров -v указано, тем подробнее вывод; встроенные плагины поддерживают уровень до -vvvvvv. Для начала рекомендуется использовать -vvv; для отладки подключений может потребоваться -vvvv. Этот аргумент можно указывать несколько раз.

АРГУМЕНТЫ

playbook.yml

Имя одного из файлов в формате YAML, который будет запущен как плейбук Ansible. Это может быть относительный путь внутри извлечённого репозитория. По умолчанию Ansible ищет плейбук по полному доменному имени узла, затем по имени узла и, наконец, файл плейбука с именем local.yml.

Окружение

Можно указать следующие переменные окружения.

ANSIBLE_INVENTORY – Переопределяет используемый по умолчанию файл инвентаря Ansible

ANSIBLE_LIBRARY – Переопределяет используемый по умолчанию путь к библиотеке модулей Ansible

ANSIBLE_CONFIG – Переопределяет используемый по умолчанию файл конфигурации Ansible

Для большинства параметров ansible.cfg доступно множество других переменных.

Файлы

/etc/ansible/hosts – Файл инвентаря по умолчанию

/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-vault(1)

© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/cli/ansible-pull.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API