📅  最后修改于: 2020-11-04 04:49:28             🧑  作者: Mango
Knife是Chef的命令行工具,可与Chef服务器进行交互。一个人用它来上传食谱和管理Chef的其他方面。它提供了本地计算机上的ChefDK(Repo)和Chef服务器之间的接口。它有助于管理-
- 厨师节点
- 食谱
- 食谱
- 环境环境
- 云资源
- 云供应
- 在Chef节点上的Chef客户端上安装
Knife提供了一组命令来管理Chef基础结构。
引导命令
客户端命令
- 刀客户端批量删除REGEX(选项)
- 刀客户端创建CLIENTNAME(选项)
- 刀客户端删除客户端(选项)
- 刀客户端编辑客户端(选项)
- 用法:C:/ opscode / chef / bin / knife(选项)
- 刀客户机密钥删除CLIENT KEYNAME(选项)
- 刀客户机密钥编辑CLIENT KEYNAME(选项)
- 刀客户机密钥列表客户端(选项)
- 刀客户机密钥显示CLIENT KEYNAME(选项)
- 刀客户清单(选项)
- 刀客户端重新注册客户端(选项)
- 刀客户端显示客户端(选项)
配置命令
Chef命令
- 刀菜谱批量删除REGEX(选项)
- 刀食谱创建COOKBOOK(选项)
- 刀食谱删除COOKBOOK版本(选项)
- 刀食谱下载COOKBOOK [VERSION](选项)
- 刀食谱清单(选项)
- 刀菜谱元数据COOKBOOK(选项)
- FILE中的刀具菜谱元数据(选项)
- 刀食谱显示COOKBOOK [VERSION] [PART] [FILENAME](选项)
- 刀食谱测试[COOKBOOKS …](选项)
- 刀食谱上传[COOKBOOKS …](选项)
Chef网站命令
- 刀食谱网站下载COOKBOOK [VERSION](选项)
- 刀食谱网站安装COOKBOOK [VERSION](选项)
- 刀食谱网站列表(选项)
- 刀菜谱网站搜索QUERY(选项)
- 刀食谱网站共享COOKBOOK [CATEGORY](选项)
- 刀食谱网站显示COOKBOOK [VERSION](选项)
- 刀食谱网站取消分享COOKBOOK
数据袋命令
- 刀数据袋创建袋[ITEM](选项)
- 刀数据袋删除包[ITEM](选项)
- 刀数据袋编辑袋项目(选项)
- 文件BAG FILE | FOLDER [FILE | FOLDER ..]中的刀具数据包(选项)
- 刀数据袋清单(选件)
- 刀数据袋显示BAG [ITEM](选项)
环境命令
- 刀具环境比较[环境..](选项)
- 刀具环境创建环境(选项)
- 刀具环境删除环境(选项)
- 刀具环境编辑环境(选项)
- 文件FILE [FILE ..]中的裁刀环境(选项)
- 刀具环境列表(选项)
- 刀具环境显示环境(选项)
执行命令
帮助命令
索引命令
节点命令
- 刀节点批量删除REGEX(选项)
- 刀节点创建NODE(选项)
- 刀节点删除NODE(选项)
- 刀节点编辑NODE(选项)
- 刀节点环境设置NODE ENVIRONMENT
- 文件FILE中的刀节点(选项)
- 刀节点列表(选项)
- 刀节点run_list添加[NODE] [ENTRY [,ENTRY]](选项)
- 刀节点run_list删除[NODE] [ENTRY [,ENTRY]](选项)
- 刀节点run_list设置NODE ENTRIES(选项)
- 刀节点显示NODE(选项)
OSC命令
- 刀osc_user创建USER(选项)
- 刀osc_user删除USER(选项)
- 刀osc_user编辑USER(选项)
- 刀osc_user列表(选项)
- 刀osc_user重新注册USER(选项)
- 刀osc_user显示USER(选项)
基于路径的命令
- 删除刀[PATTERN1 … PATTERNn]
- 刀座PATTERN1 [PATTERNn]
- 刀差异模式
- 刀下载模式
- 刀编辑[PATTERN1 … PATTERNn]
- 刀列表[-dfR1p] [PATTERN1 … PATTERNn]
- 刀展[PATTERN1 … PATTERNn]
- 刀上传模式
- 刀xargs [命令]
原始命令
配方命令
角色命令
- 刀角色批量删除REGEX(选项)
- 刀角色创建角色(选项)
- 刀角色删除角色(选项)
- 刀角色编辑角色(选项)
- 刀角色env_run_list添加[角色] [环境] [输入[,输入]](选项)
- 刀角色env_run_list清除[角色] [环境]
- 刀角色env_run_list删除[角色] [环境] [条目]
- 刀角色env_run_list替换[角色] [环境] [OLD_ENTRY] [NEW_ENTRY]
- 刀具角色env_run_list设置为[角色] [环境] [条目]
- 文件FILE [FILE ..]中的小刀角色(选项)
- 刀角色列表(选项)
- 刀角色run_list添加[ROLE] [ENTRY [,ENTRY]](选项)
- 刀角色run_list清除[角色]
- 刀角色run_list删除[角色] [输入]
- 刀角色run_list替换[ROLE] [OLD_ENTRY] [NEW_ENTRY]
- 刀角色run_list设置[角色] [条目]
- 刀角色显示角色(选项)
服务命令
SSH命令
SSL命令
- 刀ssl检查[URL](选项)
- 刀ssl提取[URL](选项)
状态指令
标记命令
- 刀标签创建NODE TAG …
- 刀标签删除NODE TAG …
- 刀标签列表NODE
用户命令
- 刀具用户创建USERNAME DISPLAY_NAME FIRST_NAME LAST_NAME电子邮件密码(选项)
- 刀用户删除USER(选项)
- 刀用户编辑USER(选项)
- 刀用户密钥创建USER(选项)
- 刀用户键删除USER KEYNAME(选项)
- 刀用户键编辑USER KEYNAME(选项)
- 刀具用户密钥列表USER(选项)
- 刀具用户密钥显示USER KEYNAME(选项)
- 刀用户列表(选项)
- 刀用户重新注册USER(选项)
- 刀用户显示USER(选项)
刀架
为了设置刀,需要移动到.chef目录并在厨师仓库中创建一个knife.rb ,它告诉刀有关配置的详细信息。这将有一些细节。
current_dir = File.dirname(__FILE__)
log_level :info
log_location STDOUT
node_name 'node_name'
client_key "#{current_dir}/USER.pem"
validation_client_name 'ORG_NAME-validator'
validation_key "#{current_dir}/ORGANIZATION-validator.pem"
chef_server_url 'https://api.chef.io/organizations/ORG_NAME'
cache_type 'BasicFile'
cache_options( :path => "#{ENV['HOME']}/.chef/checksums" )
cookbook_path ["#{current_dir}/../cookbooks"]
在上面的代码中,我们正在使用托管的Chef服务器,该服务器使用以下两个键。
validation_client_name 'ORG_NAME-validator'
validation_key "#{current_dir}/ORGANIZATION-validator.pem"
在这里,knife.rb会告诉knife使用哪个组织以及在哪里可以找到私钥。它告诉刀在哪里可以找到用户的私钥。
client_key "#{current_dir}/USER.pem"
以下代码行告诉小刀,我们正在使用托管服务器。
chef_server_url 'https://api.chef.io/organizations/ORG_NAME'
现在,使用knife.rb文件,验证者刀可以连接到组织的托管Opscode。