📜  Chef-刀架

📅  最后修改于: 2020-11-04 04:49:28             🧑  作者: Mango


 

Knife是Chef的命令行工具,可与Chef服务器进行交互。一个人用它来上传食谱和管理Chef的其他方面。它提供了本地计算机上的ChefDK(Repo)和Chef服务器之间的接口。它有助于管理-

  • 厨师节点
  • 食谱
  • 食谱
  • 环境环境
  • 云资源
  • 云供应
  • 在Chef节点上的Chef客户端上安装

Knife提供了一组命令来管理Chef基础结构。

引导命令

  • 刀靴[SSH_USER @] FQDN(选项)

客户端命令

  • 刀客户端批量删除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 ..]中的裁刀环境(选项)
  • 刀具环境列表(选项)
  • 刀具环境显示环境(选项)

执行命令

  • 刀执行[SCRIPT](选项)

帮助命令

  • 刀帮[list | TOPIC]

索引命令

  • 刀索引重建(选项)

节点命令

  • 刀节点批量删除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 [命令]

原始命令

  • 生刀REQUEST_PATH

配方命令

  • 刀食谱列表[模式]

角色命令

  • 刀角色批量删除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命令

  • 刀ssh QUERY COMMAND(选项)

SSL命令

  • 刀ssl检查[URL](选项)
  • 刀ssl提取[URL](选项)

状态指令

  • 刀状态QUERY(选项)

标记命令

  • 刀标签创建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。