Spec-Zone.ru › Ansible

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 первоначально был написан Майклом ДеХааном.

См. файл 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–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/cli/ansible-pull.html

Spec-Zone.ru

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