厨师 - 刀具设置


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

  • Chef节点
  • 食谱
  • 食谱
  • 环境
  • 云资源
  • 云配置
  • 在 Chef 节点上的 Chef 客户端上安装

Knife 提供了一组命令来管理 Chef 基础设施。

引导命令

  • Knife Bootstrap [SSH_USER@]FQDN(选项)

客户端命令

  • Knife客户端批量删除正则表达式(选项)
  • Knife客户端创建CLIENTNAME(选项)
  • Knife客户端删除CLIENT(选项)
  • Knife客户端编辑CLIENT(选项)
  • 用法:C:/opscode/chef/bin/knife(选项)
  • Knife 客户端密钥删除 CLIENT KEYNAME(选项)
  • Knife 客户端密钥编辑 CLIENT KEYNAME(选项)
  • Knife 客户端密钥列表 CLIENT(选项)
  • Knife 客户端密钥显示 CLIENT KEYNAME(选项)
  • 刀客户列表(选项)
  • Knife客户端重新注册CLIENT(选项)
  • 刀客户端显示 CLIENT(选项)

配置命令

  • 刀配置(选项)
  • Knife 配置客户端目录

食谱命令

  • Knife Cookbook批量删除正则表达式(选项)
  • 刀食谱创建COOKBOOK(选项)
  • 刀食谱删除 COOKBOOK 版本(选项)
  • 刀食谱下载 COOKBOOK [版本](选项)
  • 刀食谱清单(选项)
  • 刀食谱元数据COOKBOOK(选项)
  • 来自文件的刀食谱元数据(选项)
  • 刀食谱显示 COOKBOOK [版本] [部分] [文件名](选项)
  • 刀食谱测试 [COOKBOOKS...](选项)
  • 小刀食谱上传[COOKBOOKS...](选项)

食谱网站命令

  • 刀食谱网站下载COOKBOOK [版本](选项)
  • Knife Cookbook 网站安装 COOKBOOK [版本](选项)
  • 刀食谱网站列表(选项)
  • 刀食谱网站搜索查询(选项)
  • 小刀食谱网站分享COOKBOOK [类别](选项)
  • 刀食谱网站显示COOKBOOK [版本](选项)
  • Knife食谱网站取消分享COOKBOOK

数据包命令

  • 刀数据包创建BAG [ITEM](选项)
  • 刀数据包删除BAG[ITEM](选项)
  • 刀具数据包编辑BAG ITEM(选项)
  • 来自文件 BAG FILE|FOLDER [FILE|FOLDER..] 的刀数据包(选项)
  • 刀具数据包清单(选项)
  • 刀数据包展示BAG[ITEM](选项)

环境命令

  • 刀具环境比较 [ENVIRONMENT..](选项)
  • 刀具环境创造环境(选项)
  • Knife 环境 删除 ENVIRONMENT(选项)
  • 刀具环境编辑ENVIRONMENT(选项)
  • FILE [FILE..] 文件中的 Knife 环境(选项)
  • 刀环境列表(选项)
  • 刀环境显示ENVIRONMENT(选项)

执行命令

  • Knife exec [脚本](选项)

帮助命令

  • 刀帮助 [列表|主题]

索引命令

  • 刀索引重建(选项)

节点命令

  • Knife节点批量删除REGEX(选项)
  • Knife节点创建NODE(选项)
  • Knife节点删除NODE(选项)
  • Knife节点编辑NODE(选项)
  • Knife节点环境设置NODE ENVIRONMENT
  • 文件 FILE 中的 Knife 节点(选项)
  • 刀节点列表(选项)
  • Knife节点run_list添加[NODE] [ENTRY[,ENTRY]](选项)
  • Knife 节点 run_list 删除 [NODE] [ENTRY[,ENTRY]] (选项)
  • Knife 节点 run_list 设置 NODE ENTRIES(选项)
  • 刀节点显示NODE(选项)

OSC命令

  • Knife osc_user 创建用户(选项)
  • Knife osc_user 删除用户(选项)
  • Knife osc_user 编辑用户(选项)
  • Knife osc_user 列表(选项)
  • Knife osc_user 重新注册用户(选项)
  • Knife osc_user 显示用户(选项)

基于路径的命令

  • 刀删除 [PATTERN1 ... PATTERNn]
  • 刀依赖 PATTERN1 [PATTERNn]
  • 刀差异模式
  • 刀下载图案
  • 刀编辑 [PATTERN1 ... PATTERNn]
  • 刀具列表 [-dfR1p] [PATTERN1 ... PATTERNn]
  • 刀秀 [PATTERN1 ... PATTERNn]
  • 刀上传图案
  • 刀 xargs [命令]

原始命令

  • 刀原料REQUEST_PATH

配方命令

  • 刀具配方列表[图案]

角色命令

  • 刀角色批量删除REGEX(选项)
  • 刀角色创建ROLE(选项)
  • 刀角色删除ROLE(选项)
  • 刀角色编辑ROLE(选项)
  • 刀角色 env_run_list 添加 [ROLE] [ENVIRONMENT] [ENTRY[,ENTRY]] (选项)
  • 刀角色 env_run_list 清除 [角色] [环境]
  • 刀角色 env_run_list 删除 [角色] [环境] [条目]
  • 刀角色 env_run_list 替换 [ROLE] [ENVIRONMENT] [OLD_ENTRY] [NEW_ENTRY]
  • 刀角色 env_run_list 设置 [角色] [环境] [条目]
  • 刀的角色来自文件 FILE [FILE..](选项)
  • 刀角色列表(选项)
  • 刀角色 run_list 添加 [ROLE] [ENTRY[,ENTRY]] (选项)
  • 刀角色 run_list 清除 [ROLE]
  • 刀角色 run_list 删除 [ROLE] [ENTRY]
  • 刀角色 run_list 替换 [ROLE] [OLD_ENTRY] [NEW_ENTRY]
  • 刀角色 run_list set [ROLE] [ENTRIES]
  • 刀角色展示ROLE(选项)

服务命令

  • 刀发球(选项)

SSH 命令

  • Knife ssh 查询命令(选项)

SSL 命令

  • Knife ssl 检查 [URL](选项)
  • Knife ssl 获取 [URL](选项)

状态命令

  • 刀具状态查询(选项)

标签命令

  • 刀标签创建节点标签...
  • 刀标签删除节点标签...
  • 刀标签列表节点

用户命令

  • Knife 用户创建 USERNAME DISPLAY_NAME FIRST_NAME LAST_NAME 电子邮件密码(选项)
  • Knife用户删除USER(选项)
  • 刀用户编辑USER(选项)
  • Knife 用户密钥创建用户(选项)
  • Knife 用户密钥删除 USER KEYNAME(选项)
  • Knife 用户密钥编辑 USER KEYNAME(选项)
  • 刀具用户键列表 USER(选项)
  • Knife 用户密钥显示 USER KEYNAME(选项)
  • 刀具用户列表(选项)
  • Knife用户重新注册USER(选项)
  • 刀用户显示USER(选项)

刀具设置

为了设置 Knife,需要移动到.chef目录并在 Chef 存储库中创建一个Knife.rb ,它告诉 Knife 有关配置详细信息。这将有一些细节。

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要使用哪个组织以及在哪里可以找到私钥。它告诉 Knife 在哪里可以找到用户的私钥。

client_key               "#{current_dir}/USER.pem" 

下面的代码行告诉 Knife 我们正在使用托管服务器。

chef_server_url        'https://api.chef.io/organizations/ORG_NAME' 

使用 Knife.rb 文件,验证器 Knife 现在可以连接到您组织的托管 Opscode。