Ansible Builder#
Утилита Ansible Builder является универсальным инструментом для создания образов среды исполнения (EE). Для этого она предоставляет несколько команд с различными аргументами, описание которых приводится далее.
Вызов утилиты имеет следующий вид:
ansible-builder <command> [<arguments>]
Здесь:
<command> – команда;
<arguments> – аргументы команды.
Возможные команды:
build – создание образа контейнера.
create – создание файла спецификации образа.
introspect – поиск в каталоге проекта сведений о коллекциях и вывод информации об зависимостях.
build#
Аргументы команды:
- -h, --help#
Справочная информация о команде.
- -t TAG [TAG ...], --tag TAG [TAG ...]#
Название создаваемого образа (по умолчанию –
ansible-execution-env:latest).
- --container-runtime {podman,docker}#
Система управления контейнерами:
docker– Docker;podman– Podman.
Значение по умолчанию:
podman.
- --build-arg BUILD_ARGS#
Переменные, которые могут быть использованы во время сборки:
ANSIBLE_GALAXY_CLI_COLLECTION_OPTS– позволяет пользователю передать параметр–preдля команды установки коллекций (ansible-galaxy collections install), чтобы разрешить установку предварительных выпусков коллекций.ANSIBLE_GALAXY_CLI_ROLE_OPTS– позволяет пользователю передавать любые параметры для команды установки ролей, такие как–no-deps.EE_BASE_IMAGE– указывает родительский образ для среды исполнения.EE_BUILDER_IMAGE– указывает образ, используемый для компиляции типовых задач.PKGMGR_PRESERVE_CACHE– контролирует частоту очистки кеша менеджера пакетов в процессе сборки образа. Если это значение не задано, кеш очищается наиболее часто. Если задано значениеalways, кеш никогда не очищается. Любое другое значение заставляет очищать кеш только после установки системных зависимостей на заключительном этапе сборки образа.
- --no-cache#
Отключение кеширования во время сборки образа.
- --prune-images#
Удаление неиспользуемых образов после создания образа.
- --container-policy {system,ignore_all,signature_required}#
Политика проверки образа контейнера:
system– использование системной политики или подписи со встроенными путями к связкам ключей;ignore_all– игноририрование всех подписей;signature_required– использование подписей, указанных с помощью параметра--container-keyring.
Важно
Аргумент поддерживается только при использовании Podman.
- --container-keyring CONTAINER_KEYRING#
Путь к хранилищу контейнера, которое может использоваться для хранения и управления учетными данными контейнера, а также для обеспечения безопасного доступа к защищенным ресурсам.
- --squash {new,all,off}#
Объединение слоев во время сборки, что позволяет уменьшить размер конечного образа:
new– существовавшие ранее слои не изменяются, а все новые слои объединяются в один;all– все слои образа объединяются в один;off– объединение слоев отключено.
Значение по умолчанию:
off.Важно
Аргумент поддерживается только при использовании Podman.
- -f FILENAME, --file FILENAME#
Путь к файлу определения среды исполнения.
Значение по умолчанию:
execution-environment.(yml|yaml).
- -c BUILD_CONTEXT, --context BUILD_CONTEXT#
Каталог, который будет использоваться для хранения контекста сборки.
Значение по умолчанию:
context.
- --output-filename {Containerfile,Dockerfile}#
Название файла для записи определения образа, зависит от
--container-runtime:Containerfile– Podman;Dockerfile– Docker.
- --galaxy-keyring GALAXY_KEYRING#
Путь к хранилищу для проверки подписи коллекции при загрузке из Galaxy. Проверка отключена, если она не настроена.
- --galaxy-ignore-signature-status-codes GALAXY_IGNORE_SIGNATURE_STATUS_CODES#
Позволяет игнорировать определенные коды состояния подписи при работе с Galaxy. Может быть указано несколько раз.
- --galaxy-required-valid-signature-count GALAXY_REQUIRED_VALID_SIGNATURE_COUNT#
Количество действительных подписей, необходимых для успешной загрузки коллекции с Ansible Galaxy.
- -v [VERBOSITY], --verbosity [VERBOSITY]#
Детализация вывода. Добавление нескольких
-vувеличит детализацию. Максимальное значение-vvv. Также принимаются целочисленные значения, например,-v3или--verbosity 3.Значение по умолчанию:
2.
create#
Аргументы команды:
-h,--help;-f FILENAME,--file FILENAME;-c BUILD_CONTEXT,--context BUILD_CONTEXT;--output-filename {Containerfile,Dockerfile};--galaxy-keyring GALAXY_KEYRING;--galaxy-ignore-signature-status-codes GALAXY_IGNORE_SIGNATURE_STATUS_CODES;--galaxy-required-valid-signature-count GALAXY_REQUIRED_VALID_SIGNATURE_COUNT;-v [VERBOSITY],--verbosity [VERBOSITY].
Подробное описание аргументов приведено в описании команды build.
introspect#
Аргументы команды:
- folder#
Путь к каталогу с коллекциям Ansible. Внутри указанного каталога должен существовать подкаталог
ansible_collections.
- -h, --help#
Справочная информация о работе команды.
- --sanitize#
Очистка зависимостей или данных, которые могут быть связаны с проектом. Например, удаление непроверенных или ненадежных зависимостей, чтобы гарантировать, что результирующий список остается безопасным и актуальным.
- --user-pip USER_PIP#
Путь к файлу
requirements.txt.
- --user-bindep USER_BINDEP#
Путь к файлу
bindep.txt.
- --write-pip WRITE_PIP#
Путь к файлу, в который будет записан список зависимостей Python.
- --write-bindep WRITE_BINDEP#
Путь к файлу, в который будет записан список системных зависимостей.
- -v [VERBOSITY], --verbosity [VERBOSITY]#
Детализация вывода. Добавление нескольких
-vувеличит детализацию. Максимальное значение-vvv. Также принимаются целочисленные значения, например,-v3или--verbosity 3.Значение по умолчанию:
2.