Spec-Zone.ru › Chef 18

кулинарная книга ножей

[править на GitHub]

Кулинарная книга — это базовая единица конфигурации и распространения политик в Chef Infra.

Кулинарная книга определяет сценарий и содержит всё необходимое для поддержки этого сценария:

  • Рецепты, указывающие, какие встроенные ресурсы Chef Infra использовать и в каком порядке их применять
  • Значения атрибутов, которые позволяют настраивать конфигурацию в зависимости от среды, например, dev или prodution.
  • Пользовательские ресурсы для расширения возможностей Chef Infra за пределы встроенных ресурсов.
  • Файлы и шаблоны для распространения информации на системы.
  • Пользовательские плагины Ohai для расширения сбора конфигурации системы за пределы стандартных значений Ohai.
  • Файл metadata.rb, описывающий саму кулинарную книгу и все зависимости, от которых она может зависеть.

Используйте подкоманду knife cookbook для взаимодействия с кулинарными книгами, расположенными на сервере Chef Infra или в локальном chef-repo.

Примечание

Ознакомьтесь со списком общих параметров, доступных для этой (и всех) подкоманд и плагинов knife.

удаление множества

Используйте аргумент bulk delete для удаления файлов кулинарной книги, которые соответствуют шаблону, определённому с помощью регулярного выражения. Регулярное выражение должно быть заключено в кавычки и не должно быть окружено слэшами (/).

Синтаксис

Этот аргумент имеет следующий синтаксис:

knife cookbook bulk delete REGEX (options)

Параметры

Этот аргумент имеет следующие параметры:

-p, --purge

Полностью удаляет кулинарную книгу (или версию кулинарной книги) с сервера Chef Infra. Используйте этот параметр с осторожностью, так как на сервере Chef Infra хранится только один экземпляр любого файла. Вследствие этого удаление кулинарной книги деактивирует любые другие кулинарные книги, которые ссылаются на один или несколько файлов из удалённой кулинарной книги.

Примечание

Обратитесь к файлу config.rb для получения дополнительной информации о том, как добавить определённые параметры knife в качестве настроек в файл config.rb.

Примеры

В следующих примерах показано, как использовать эту подкоманду knife:

Удалить множество кулинарных книг

Используйте регулярное выражение для определения шаблона, используемого для удаления множества кулинарных книг:

knife cookbook bulk delete "^[0-9]{3}$" -p

удалить

Используйте аргумент delete для удаления указанной кулинарной книги или версии кулинарной книги на сервере Chef Infra (а не локально).

Синтаксис

Этот аргумент имеет следующий синтаксис:

knife cookbook delete COOKBOOK_NAME [COOKBOOK_VERSION] (options)

Параметры

Этот аргумент имеет следующие параметры:

-a, --all

Удалить все кулинарные книги (и версии кулинарных книг).

COOKBOOK_VERSION

Версия кулинарной книги, которая должна быть удалена. Если у кулинарной книги всего одна версия, этот параметр указывать не нужно. Если у кулинарной книги более одной версии, и этот параметр не указан, knife запросит версию.

-p, --purge

Полностью удаляет кулинарную книгу (или версию кулинарной книги) с сервера Chef Infra. Используйте этот параметр с осторожностью, так как на сервере Chef Infra хранится только один экземпляр любого файла. Вследствие этого удаление кулинарной книги деактивирует любые другие кулинарные книги, которые ссылаются на один или несколько файлов из удалённой кулинарной книги.

Примечание

Обратитесь к файлу config.rb для получения дополнительной информации о том, как добавить определённые параметры knife в качестве настроек в файл config.rb.

Примеры

В следующих примерах показано, как использовать эту подкоманду knife:

Удалить кулинарную книгу

knife cookbook delete cookbook_name version

Например:

knife cookbook delete smartmon 0.8

Введите Y для подтверждения удаления.

скачать

Используйте аргумент download для загрузки кулинарной книги с сервера Chef Infra в текущую рабочую директорию.

Синтаксис

Этот аргумент имеет следующий синтаксис:

knife cookbook download COOKBOOK_NAME [COOKBOOK_VERSION] (options)

Параметры

Этот аргумент имеет следующие параметры:

-d DOWNLOAD_DIRECTORY, --dir DOWNLOAD_DIRECTORY

Директория, в которой находятся кулинарные книги.

-f, --force

Перезаписать существующую директорию.

-N, --latest

Загрузить последнюю версию кулинарной книги.

Примечание

Обратитесь к файлу config.rb для получения дополнительной информации о том, как добавить определённые параметры knife в качестве настроек в файл config.rb.

Примеры

В следующих примерах показано, как использовать эту подкоманду knife:

Скачать кулинарную книгу

Для загрузки кулинарной книги с именем smartmon, введите:

knife cookbook download smartmon

список

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

Синтаксис

Этот аргумент имеет следующий синтаксис:

knife cookbook list (options)

Параметры

Этот аргумент имеет следующие параметры:

-a, --all

Возвращает все доступные версии каждой кулинарной книги.

-w, --with-uri

Показать соответствующие URI.

Примечание

Обратитесь к файлу config.rb для получения дополнительной информации о том, как добавить определённые параметры knife в качестве настроек в файл config.rb.

Примеры

В следующих примерах показано, как использовать эту подкоманду knife:

Просмотр списка кулинарных книг

Для просмотра списка кулинарных книг:

knife cookbook list

метаданные

Используйте аргумент metadata для генерации метаданных для одной или нескольких кулинарных книг.

Синтаксис

Этот аргумент имеет следующий синтаксис:

knife cookbook metadata (options)

Параметры

Этот аргумент имеет следующие параметры:

-a, --all

Сгенерировать метаданные для всех кулинарных книг.

-o PATH:PATH, --cookbook-path PATH:PATH

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

Примечание

Обратитесь к файлу config.rb для получения дополнительной информации о том, как добавить определённые параметры knife в качестве настроек в файл config.rb.

Примеры

В следующих примерах показано, как использовать эту подкоманду knife:

Генерация метаданных

knife cookbook metadata -a

метаданные из файла

Используйте аргумент metadata from file для загрузки метаданных кулинарной книги из файла.

Синтаксис

Этот аргумент имеет следующий синтаксис:

knife cookbook metadata from file FILE

Параметры

У этой команды нет специфических параметров.

Примеры

В следующих примерах показано, как использовать эту подкоманду knife:

Просмотр метаданных

knife cookbook metadata from file /path/to/file

показать

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

Синтаксис

Этот аргумент имеет следующий синтаксис:

knife cookbook show COOKBOOK_NAME [COOKBOOK_VERSION] [PART...] [FILE_NAME] (options)

Параметры

Этот аргумент имеет следующие параметры:

COOKBOOK_VERSION

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

-f FQDN, --fqdn FQDN

FQDN хоста.

FILE_NAME

Имя файла, связанного с кулинарной книгой.

-p PLATFORM, --platform PLATFORM

Платформа, для которой предназначена кулинарная книга.

PART

Часть кулинарной книги для отображения: attributes, definitions, files, libraries, providers, recipes, resources, или templates. Можно указать более одной части.

-V PLATFORM_VERSION, --platform-version PLATFORM_VERSION

Версия платформы.

-w, --with-uri

Показать соответствующие URI.

Примечание

Обратитесь к файлу config.rb для получения дополнительной информации о том, как добавить определённые параметры knife в качестве настроек в файл config.rb.

Примеры

В следующих примерах показано, как использовать эту подкоманду knife:

Показать данные кулинарной книги

Для получения списка доступных версий кулинарной книги с именем getting-started, введите:

knife cookbook show getting-started

что вернёт что-то вроде:

getting-started   0.3.0  0.2.0

Показать версии кулинарной книги

Для показа списка данных о кулинарной книге, используя имя кулинарной книги и версию, введите:

knife cookbook show getting-started 0.3.0

что вернёт что-то вроде:

attributes:
  checksum:   fa0fc4abf3f6787aeb5c3c5c35de667c
  name:       default.rb
  path:       attributes/default.rb
  specificity:  default
  url:        https://somelongurlhere.com
chef_type:    cookbook_version
cookbook_name:  getting-started
definitions:  []
files:        []
frozen?:      false
json_class:   Chef::CookbookVersion
libraries:    []

Показать версию кулинарной книги

Для просмотра только данных о шаблонах, введите:

knife cookbook show getting-started 0.3.0 templates

что вернёт что-то вроде:

checksum:   a29d6f254577b830091f140c3a78b1fe
name:       chef-getting-started.txt.erb
path:       templates/default/chef-getting-started.txt.erb
specificity:  default
url:        https://someurlhere.com

Показать данные кулинарной книги в формате JSON

Для просмотра информации в формате JSON используйте общую опцию -F в командной строке следующим образом:

knife cookbook show devops -F json

Другие доступные форматы включают text, yaml, и pp.

test

Используйте аргумент test для проверки кулинарной книги на синтаксические ошибки. Этот аргумент использует проверку синтаксиса Ruby для проверки каждого файла в кулинарной книге, заканчивающегося на .rb и Embedded Ruby (ERB). Этот аргумент будет учитывать файлы chefignore при определении кулинарных книг, которые необходимо проверить на синтаксические ошибки.

Предупреждение

Эта функция устарела и рекомендуется использовать Cookstyle и ChefSpec

Синтаксис

Этот аргумент имеет следующий синтаксис:

knife cookbook test COOKBOOK_NAME (options)

Параметры

Этот аргумент имеет следующие параметры:

-a, --all

Проверить все кулинарные книги.

-o PATH:PATH, --cookbook-path PATH:PATH

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

Примечание

См. config.rb для получения дополнительной информации о добавлении определенных опций knife в качестве параметров в файле config.rb.

Примеры

Следующие примеры показывают, как использовать эту подкоманду knife:

Проверка кулинарной книги

knife cookbook test cookbook_name

загрузка

Используйте аргумент upload для загрузки одной или нескольких кулинарных книг (и всех связанных с ними файлов) из локального хранилища на сервер Chef Infra. Будут загружены только те файлы, которых еще нет на сервере Chef Infra.

Примечание

Используйте файл chefignore для предотвращения загрузки определенных файлов и типов файлов, таких как временные файлы или файлы, помещенные в папки системами контроля версий. Файл chefignore должен находиться в корне репозитория кулинарной книги и должен использовать правила, похожие на подстановку имен файлов (как определено в синтаксисе Ruby File.fnmatch).

Примечание

Пустые каталоги не загружаются на сервер Chef Infra. Чтобы загрузить пустую директорию, создайте в ней файл «точка» — например, .keep, — чтобы убедиться, что директория не пуста.

Синтаксис

Этот аргумент имеет следующий синтаксис:

knife cookbook upload [COOKBOOK_NAME...] (options)

Параметры

Этот аргумент имеет следующие параметры:

-a, --all

Загрузить все кулинарные книги.

--concurrency

Количество разрешенных одновременных соединений. По умолчанию: 10.

-d, --include-dependencies

Обеспечить, чтобы при наличии у кулинарной книги зависимости от одной (или нескольких) кулинарных книг, эти кулинарные книги также были загружены.

-E ENVIRONMENT, --environment ENVIRONMENT

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

--force

Обновить кулинарную книгу даже если флаг --freeze был установлен.

--freeze

Требуется, чтобы изменения в кулинарной книге были включены в качестве новой версии. Только опция --force может переопределить это значение.

-o PATH:PATH, --cookbook-path PATH:PATH

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

Примечание

См. config.rb для получения дополнительной информации о добавлении определенных опций knife в качестве параметров в файле config.rb.

Примеры

Следующие примеры показывают, как использовать эту подкоманду knife:

Загрузка кулинарной книги

knife cookbook upload cookbook_name

Заморозка кулинарной книги

Чтобы загрузить кулинарную книгу и предотвратить возможность внесения в неё изменений другими пользователями, введите:

knife cookbook upload redis --freeze

чтобы получить что-то вроде:

Uploading redis...
Upload completed

Если кулинарная книга заморожена, и опция --force не указана, knife вернёт сообщение об ошибке, подобное следующему:

Uploading redis...
ERROR: Version 0.1.6 of cookbook redis is frozen. Use --force to override.

© 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_cookbook/

Spec-Zone.ru

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