Загрузка knife
Используйте подкоманду knife upload для загрузки данных на сервер Chef Infra из текущей рабочей директории в chef-repo. С помощью этой подкоманды можно загрузить следующие типы данных:
- Кулинарные книги
- Мешки данных
- Роли, хранящиеся в формате JSON
- Среды, хранящиеся в формате JSON
(Роли и среды, хранящиеся в формате Ruby, не будут загружены.) Эта подкоманда часто используется совместно с knife diff, которая позволяет увидеть точные изменения, которые будут загружены, и затем с knife download, которая делает обратное knife upload.
Синтаксис
Эта подкоманда имеет следующий синтаксис:
knife upload [PATTERN...] (options)
Параметры
Примечание
Эта подкоманда имеет следующие параметры:
--chef-repo-path PATH-
Путь к chef-repo. Этот параметр переопределит путь по умолчанию к chef-repo. По умолчанию: совпадает со значением, указанным
chef_repo_pathв client.rb. --concurrency-
Количество разрешенных одновременных подключений. По умолчанию:
10. --[no-]diff-
Загружать только новые и изменённые файлы. Установите значение
falseдля загрузки всех файлов. По умолчанию:true. --[no-]force-
Использовать
--forceдля загрузки ролей, кулинарных книг и т.д., даже если файл в каталоге идентичен (по умолчанию, никакойPOSTилиPUTне выполняется, если не произойдёт фактического изменения). По умолчанию:--no-force. --[no-]freeze-
Требовать, чтобы изменения в кулинарной книге были включены в качестве новой версии. Только параметр
--forceможет переопределить это значение. По умолчанию:false. -
-n,--dry-run -
Не выполнять никаких действий и только выводить результаты. По умолчанию:
false. --[no-]purge-
Использовать
--purgeдля удаления ролей, кулинарных книг и т.д. с сервера Chef Infra, если соответствующие файлы не существуют в chef-repo. По умолчанию, такие объекты оставляются и НЕ удаляются. По умолчанию:--no-purge. --[no-]recurse-
Использовать
--no-recurseдля отключения рекурсивной загрузки каталога. По умолчанию:--recurse. --repo-mode MODE-
Структура локального chef-repo. Возможные значения:
static,everything, илиhosted_everything. Используйтеstaticтолько для ролей, сред, кулинарных книг и мешков данных. По умолчаниюeverythingиhosted_everythingдинамически выбираются в зависимости от типа сервера. По умолчанию:everything/hosted_everything.
Примечание
Примеры
В следующих примерах показано, как использовать эту подкоманду knife:
Загрузка всего chef-repo
Перейдите в корневую директорию chef-repo и введите:
knife upload .
или из любой точки chef-repo, введите:
knife upload /
для загрузки всех кулинарных книг и мешков данных, а также всех ролей и сред, хранящихся в формате JSON. (Роли и среды, хранящиеся в формате Ruby, не будут загружены.)
Загрузка каталога /cookbooks
Перейдите в корневую директорию chef-repo и введите:
knife upload cookbooks
или из любой точки chef-repo, введите:
knife upload /cookbooks
Загрузка каталога /environments
Перейдите в корневую директорию chef-repo и введите:
knife upload environments
или из любой точки chef-repo, введите:
knife upload /environments
для загрузки всех сред, хранящихся в формате JSON. (Среды, хранящиеся в формате Ruby, не будут загружены.)
Загрузка одной среды
Перейдите в корневую директорию chef-repo и введите:
knife upload environments/production.json
или из каталога environments/, введите:
knife upload production.json
Загрузка каталога /roles
Перейдите в корневую директорию chef-repo и введите:
knife upload roles
или из любой точки chef-repo, введите:
knife upload /roles
для загрузки всех ролей, хранящихся в формате JSON. (Роли, хранящиеся в формате Ruby, не будут загружены.)
Загрузка кулинарных книг и ролей
Перейдите в корневую директорию chef-repo и введите:
knife upload cookbooks/apache\* roles/webserver.json
Использование вывода knife deps для передачи команды в knife upload
knife upload `knife deps nodes/*.json`
© Chef Software, Inc.
Licensed under the Creative Commons Attribution 3.0 Unported License.
The Chef™ Mark and Chef Logo are either registered trademarks/service marks or trademarks/servicemarks of Chef, in the United States and other countries and are used with Chef Inc's permission.
We are not affiliated with, endorsed or sponsored by Chef Inc.
https://docs.chef.io/knife_upload/