Chef教程
Chef高级

Chef knife 设置

Knife 是 Chef 的命令行工具,用于与 Chef 服务器进行交互。一个人用它来上传Cookbook和管理 Chef 的其他方面。它提供了本地机器上的 ChefDK(Repo)和 Chef 服务器之间的接口。它有助于管理-
Chef节点 Cookbook Recipe 环境 云资源 云配置 在 Chef 节点上的 Chef 客户端上安装
Knife 提供了一组命令来管理 Chef 基础架构。

引导命令

knife 引导程序 [SSH_USER@]FQDN(选项)

客户端命令

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

配置命令

knife配置(选项) knife配置客户端目录

Cookbook命令

knife Cookbook批量删除正则表达式(选项) knife Cookbook创建 COOKBOOK(选项) knife Cookbook删除Cookbook版本(选项) knife Cookbook下载 COOKBOOK [版本](选项) knife Cookbook列表(选项) knife Cookbook元数据 COOKBOOK(选项) 来自 FILE 的knife Cookbook元数据(选项) knife Cookbook展示 COOKBOOK [版本] [部分] [文件名](选项) knife Cookbook测试 [COOKBOOKS...](选项) knife Cookbook上传 [COOKBOOKS...](选项)

Cookbook站点命令

knife Cookbook网站下载 COOKBOOK [版本](选项) knife Cookbook站点安装 COOKBOOK [版本](选项) knife Cookbook网站列表(选项) knife Cookbook网站搜索查询(选项) knife Cookbook网站分享Cookbook [CATEGORY](选项) knife Cookbook网站显示 COOKBOOK [版本](选项) knife Cookbook网站取消共享Cookbook

数据包命令

knife 数据包创建 BAG [ITEM](选项) knife 数据包删除 BAG [ITEM](选项) knife 数据包编辑 BAG ITEM(选项) 来自文件 BAG FILE|FOLDER [FILE|FOLDER..](选项)的knife 数据包 knife 数据包列表(选项) knife 数据包显示包 [ITEM](选项)

环境命令

knife 环境比较 [ENVIRONMENT..](选项) knife 环境创建环境(选项) knife 环境删除环境(选项) knife 环境编辑环境(选项) 来自文件 FILE [FILE..] 的knife 环境(选项) knife 环境列表(选项) knife 环境显示环境(选项)

执行命令

knife exec [SCRIPT](选项)

帮助命令

knife 帮助 [list|TOPIC]

索引命令

knife 索引重建(选项)

节点命令

knife 节点批量删除正则表达式(选项) knife 节点创建节点(选项) knife 节点删除节点(选项) knife 节点编辑节点(选项) knife 节点环境设置节点环境 文件 FILE 中的knife 节点(选项) knife 节点列表(选项) knife node run_list add [NODE] [ENTRY[,ENTRY]] (options) knife node run_list remove [NODE] [ENTRY[,ENTRY]] (options) knife 节点 run_list 设置节点条目(选项) knife 节点显示节点(选项)

OSC 命令

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

基于路径的命令

knife 删除 [PATTERN1 ... PATTERNn] knife deps PATTERN1 [PATTERNn] knife 差异模式 knife 下载模式 knife 编辑 [PATTERN1 ... PATTERNn] knife 列表 [-dfR1p] [PATTERN1 ... PATTERNn] knife 秀 [PATTERN1 ... PATTERNn] knife 上传模式 knife xargs [命令]

原始命令

knife 原始 REQUEST_PATH

配方命令

knife 配方列表 [PATTERN]

角色命令

knife 角色批量删除正则表达式(选项) knife 角色创建角色(选项) knife 角色删除角色(选项) knife 角色编辑角色(选项) knife 角色 env_run_list 添加 [ROLE] [ENVIRONMENT] [ENTRY[,ENTRY]](选项) knife 角色 env_run_list 清除 [ROLE] [环境] knife 角色 env_run_list 删除 [ROLE] [ENVIRONMENT] [ENTRIES] knife 角色 env_run_list 替换 [ROLE] [ENVIRONMENT] [OLD_ENTRY] [NEW_ENTRY] knife 角色 env_run_list 设置 [ROLE] [ENVIRONMENT] [ENTRIES] 来自文件 FILE [FILE..] 的knife 角色(选项) knife 角色列表(选项) knife 角色 run_list 添加 [ROLE] [ENTRY[,ENTRY]](选项) knife 角色 run_list 清除 [ROLE] knife 角色 run_list 删除 [ROLE] [ENTRY] knife 角色 run_list 替换 [ROLE] [OLD_ENTRY] [NEW_ENTRY] knife 角色 run_list 设置 [ROLE] [ENTRIES] knife 角色显示角色(选项)

服务命令

knife 服务(选项)

SSH 命令

knife ssh 查询命令(选项)

SSL 命令

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

状态命令

knife 状态查询(选项)

标签命令

knife tag 创建 NODE TAG ... knife tag 删除 NODE TAG ... knife 标签列表节点

用户命令

knife 用户创建 USERNAME DISPLAY_NAME FIRST_NAME LAST_NAME EMAIL PASSWORD(选项) knife 用户删除用户(选项) knife 用户编辑用户(选项) knife 用户密钥创建用户(选项) knife user key delete USER KEYNAME(选项) knife 用户密钥编辑用户密钥名称(选项) knife 用户密钥列表 USER(选项) knife 用户密钥显示用户密钥名称(选项) knife 用户列表(选项) knife 用户重新注册用户(选项) knife 用户显示用户(选项)

knife 设置

为了设置knife,需要移动到 .chef 目录并在chef repo 中创建一个 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。
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4