Spec-Zone.ru › Chef 17

клиент knife

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

Используйте подкоманду knife client для управления списком клиентов API и связанными с ними парами открытых и закрытых ключей RSA. Это позволяет выполнять запросы на аутентификацию к серверу Chef Infra Server любым субъектом, использующим API сервера Chef Infra Server, таким как Chef Infra Client и knife.

Примечание

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

удаление по шаблону

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

Синтаксис

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

knife client bulk delete REGEX

Параметры

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

-D, --delete-validators

Принудительно удалить клиента, если он также является chef-validator.

Примеры

Нет.

создание

Используйте аргумент create для создания нового клиента API. Этот процесс сгенерирует пару ключей RSA для указанного клиента API. Открытый ключ будет сохранён на сервере Chef Infra Server, а закрытый ключ будет отображён на STDOUT или записан в указанный файл.

. Для Chef Infra Client закрытый ключ необходимо скопировать в систему как /etc/chef/client.pem. . Для knife, закрытый ключ обычно копируется в ~/.chef/client_name.pem и упоминается в файле конфигурации config.rb.

Синтаксис

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

knife client create CLIENT_NAME (options)

Параметры

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

-f FILE, --file FILE

Сохранить закрытый ключ в указанный файл.

-k, --prevent-keygen

Создать пользователя без открытого ключа. Этот ключ может быть управляем позднее с помощью подкоманд knife user key.

Примечание

Этот параметр действителен только для API сервера Chef Infra Server версии 1.0, выпущенной с Chef Server 12.1. Если этот параметр или параметр --user-key не передаются в команде, сервер Chef Infra Server создаст пользователя с открытым ключом, названным default, и вернёт закрытый ключ. Для версий Chef Server, предшествующих 12.1, этот параметр не будет работать; открытый ключ всегда генерируется, если не передается параметр --user-key в команде.
-p FILE, --public-key FILE

Путь к файлу, содержащему открытый ключ. Этот параметр не может быть передан в той же команде с --prevent-keygen. При использовании Chef, по умолчанию генерируется ключ, если этот параметр не передан в команде. Для версии Chef Server 12.x, см. параметр --prevent-keygen.

--validator

Создать клиента как chef-validator. Значение по умолчанию: true.

Примечание

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

Примеры

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

Создание клиента администратора

Чтобы создать Chef Infra Client, который может получить доступ к API сервера Chef Infra Server как администратор — иногда называемый «API Chef Infra Client» — с именем «exampleorg» и сохранить его закрытый ключ в файл, введите:

knife client create exampleorg -a -f "/etc/chef/client.pem"

удаление

Используйте аргумент delete для удаления зарегистрированного клиента API. Если используется Chef Client 12.17 или более поздней версии, вы можете удалить несколько клиентов с помощью этой подкоманды.

Синтаксис

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

knife client delete CLIENT_NAME

Параметры

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

-D, --delete-validators

Принудительно удалить клиента, если он также является chef-validator.

Примеры

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

Удаление клиента

Чтобы удалить клиента с именем «client_foo», введите:

knife client delete client_foo

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

редактирование

Используйте аргумент edit для редактирования деталей зарегистрированного клиента API. При выполнении этой команды knife откроет $EDITOR для редактирования атрибута admin. (Никакие другие атрибуты не должны изменяться с помощью этого аргумента.) По завершении knife обновит сервер Chef Infra Server с этими изменениями.

Синтаксис

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

knife client edit CLIENT_NAME

Параметры

Эта команда не имеет специфических параметров.

Примеры

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

Редактирование клиента

Чтобы отредактировать клиента с именем «exampleorg», введите:

knife client edit exampleorg

создание ключа

Используйте аргумент key create для создания открытого ключа.

Синтаксис

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

knife client key create CLIENT_NAME (options)

Параметры

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

-e DATE, --expiration-date DATE

Дата истечения срока действия открытого ключа, указанная в формате ISO 8601: YYYY-MM-DDTHH:MM:SSZ. Если этот параметр не указан, у открытого ключа не будет даты истечения срока действия. Например: 2013-12-24T21:00:00Z.

-f FILE, --file FILE

Сохранить закрытый ключ в указанный файл. Если параметр --public-key не указан, сервер Chef Infra Server сгенерирует закрытый ключ.

-k NAME, --key-name NAME

Имя открытого ключа.

-p FILE_NAME, --public-key FILE_NAME

Путь к файлу, содержащему открытый ключ. Если этот параметр не указан, и только если указан параметр --key-name, сервер Chef Infra Server сгенерирует пару открытый/закрытый ключ.

Примеры

Нет.

удаление ключа

Используйте аргумент key delete для удаления открытого ключа.

Синтаксис

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

knife client key delete CLIENT_NAME KEY_NAME

Примеры

Нет.

редактирование ключа

Используйте аргумент key edit для изменения или переименования открытого ключа.

Синтаксис

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

knife client key edit CLIENT_NAME KEY_NAME (options)

Параметры

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

-c, --create-key

Сгенерировать новую пару открытый/закрытый ключ и заменить существующий открытый ключ сгенерированным открытым ключом. Чтобы заменить открытый ключ существующим открытым ключом, используйте --public-key вместо этого.

-e DATE, --expiration-date DATE

Дата истечения срока действия открытого ключа, указанная в формате ISO 8601: YYYY-MM-DDTHH:MM:SSZ. Если этот параметр не указан, у открытого ключа не будет даты истечения срока действия. Например: 2013-12-24T21:00:00Z.

-f FILE, --file FILE

Сохранить закрытый ключ в указанный файл. Если параметр --public-key не указан, сервер Chef Infra Server сгенерирует закрытый ключ.

-k NAME, --key-name NAME

Имя открытого ключа.

-p FILE_NAME, --public-key FILE_NAME

Путь к файлу, содержащему открытый ключ. Если этот параметр не указан, и только если указан параметр --key-name, сервер Chef Infra Server сгенерирует пару открытый/закрытый ключ.

Примеры

Нет.

список ключей

Используйте аргумент key list для просмотра списка открытых ключей для указанного клиента.

Синтаксис

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

knife client key list CLIENT_NAME (options)

Параметры

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

-e, --only-expired

Показать список истекших открытых ключей.

-n, --only-non-expired

Показать список открытых ключей, не истекших.

-w, --with-details

Показать список открытых ключей, включая URI и статус истечения срока действия.

Примеры

Нет.

показать ключ

Используйте аргумент key show для просмотра деталей определённого открытого ключа.

Синтаксис

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

knife client key show CLIENT_NAME KEY_NAME

Примеры

Нет.

список

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

Синтаксис

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

knife client list (options)

Параметры

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

-w, --with-uri

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

Примеры

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

Просмотр списка клиентов

Чтобы проверить список клиентов API для сервера Chef Infra Server, введите:

knife client list

для возврата чего-то подобного:

exampleorg
i-12345678
rs-123456

Чтобы проверить, что клиент API может правильно аутентифицироваться на сервере Chef Infra Server, попробуйте получить список клиентов, используя параметры -u и -k для указания его имени и закрытого ключа:

knife client list -u ORGNAME -k .chef/ORGNAME.pem

перерегистрация

Используйте аргумент reregister для перегенерации пары RSA ключей для клиента API. Открытый ключ будет сохранён на сервере Chef Infra Server, а закрытый ключ будет отображён на STDOUT или записан в указанный файл.

Примечание

Запуск этого аргумента аннулирует предыдущую пару ключей RSA, сделав её непригодной для аутентификации на сервере Chef Infra.

Синтаксис

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

knife client reregister CLIENT_NAME (options)

Параметры

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

-f FILE_NAME, --file FILE_NAME

Сохранить закрытый ключ в указанный файл.

Примечание

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

Примеры

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

Перерегистрация клиента

Чтобы перерегистрировать пару ключей RSA для клиента с именем «testclient» и сохранить её в файл «rsa_key», введите:

knife client reregister testclient -f rsa_key

show

Используйте аргумент show для отображения подробностей о клиенте API.

Синтаксис

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

knife client show CLIENT_NAME (options)

Параметры

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

-a ATTR, --attribute ATTR

Атрибут(ы) для отображения.

Примеры

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

Показать клиентов

Чтобы просмотреть клиента с именем «testclient», введите:

knife client show testclient

что вернёт данные, подобные:

admin:     false
chef_type: client
json_class:  Chef::ApiClient
name:      testclient
public_key:

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

knife client show devops -F json

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

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

Spec-Zone.ru

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