GoGPT Best VPN GoSearch

OnWorks 网站图标

Knife-exec - 云端在线

在 OnWorks 免费托管服务提供商中通过 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器运行 Knife-exec

这是命令 Knife-exec 可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器

程序:

您的姓名


Knife-exec - Knife exec 子命令的手册页。

这个 EXEC 子命令使用 Knife 配置文件执行 Ruby 脚本
完全配置的厨师客户端的上下文。 此子命令最常用于运行
只会访问 Chef 服务器一次(或很少访问)的脚本。 用
在操作不保证完全使用刀具的任何时候使用此子命令
子命令库。

已认证 API 要求

这个 EXEC 子命令可用于向 Chef 发出经过身份验证的 API 请求
服务器使用以下方法:

┌────────────┬──────────────────────────────────┐
│方法│说明│
├────────────┼──────────────────────────────────┤
API.删除 │ 用于从 │ 中删除一个对象
│ │ 厨师服务器。 │
├────────────┼──────────────────────────────────┤
获取 │ 用于获取一个 │ 的详细信息
│ │ Chef 服务器上的对象。 │
├────────────┼──────────────────────────────────┤
api.post │ 用于向 Chef 添加对象 │
│ │ 服务器。 │
├────────────┼──────────────────────────────────┤
api.put │ 用于更新 │ 上的对象
│ │ 厨师服务器。 │
└────────────┴────────────────────────────────────┘

这些方法与 -E 选项,它在本地执行该字符串
工作站使用厨师壳。 这些方法具有以下语法:

$ Knife exec -E 'api.method(/endpoint)'

其中:

· API.方法 是对应的认证方式--- API.删除, 获取, api.post,
or api.put

· /端点 是 Chef 服务器 API 中的端点

例如,要获取名为“Example_Node”的节点的数据:

$ Knife exec -E 'puts api.get("/nodes/Example_Node")'

并确保输出在控制台中可见,添加 看跌期权 在 API 前面
授权请求:

$ Knife exec -E 'puts api.get("/nodes/Example_Node")'

协调 看跌期权 是较短的版本 $标准输出.puts Ruby 中的预定义变量。

以下示例显示如何添加名为“IBM305RAMAC”的客户端和 /客户
端点,然后在控制台中返回该用户的私钥:

$client_desc = {
"name" => "IBM305RAMAC",
“管理员”=> 假
}

new_client = api.post("/clients", client_desc)
puts new_client["private_key"]

句法

此子命令具有以下语法:

$ 刀执行脚本(选项)

可选项

此子命令具有以下选项:

-c 配置文件, --配置 配置文件
要使用的配置文件。

--chef-零端口 PORT
Chef-zero 将侦听的端口。

--[无-]颜色
用于查看彩色输出。

-d, --禁用编辑
用于防止打开 $EDITOR 并按原样接受数据。

--默认值
用于让 Knife 使用默认值而不是要求用户提供一个。

-E 代码, --执行 守则
将被执行的一串代码。

-e 编辑, - 编辑 EDITOR
用于所有交互式命令的 $EDITOR。

- 环境 环境
环境名称。 将此选项添加到命令时,命令
将仅针对命名环境运行。

-F 格式, - 格式 FORMAT
输出格式: 摘要 (默认), 文本, JSON, 雅姆pp.

-H, - 帮帮我
显示命令的帮助。

-k 键, - 钥匙 KEY
Knife 将用于将 API 客户端向客户端发出的请求签名的私钥
厨师服务器。

-p 路径:路径, --脚本路径 路径:路径
Ruby 脚本所在的以冒号分隔的路径。

--打印后
用于在破坏性操作后显示数据。

-s 网址, --服务器-url 网址
Chef 服务器的 URL。

-u 用户, - 用户 USER
Knife使用的用户名对API客户端向Chef发出的请求进行签名
服务器。 如果用户名与私钥不匹配,则身份验证将失败。

-v, - 版
厨师客户端的版本。

-V, --详细
设置为更详细的输出。 用 -VV 以获得最大的冗长性。

-y, ——而且是
用于以“是”响应所有确认提示。 刀不会要求
确认。

-z - 本地模式
用于在本地模式下运行厨师客户端。 这允许所有有效的命令
针对 Chef 服务器也针对本地 Chef-repo 工作。

例子

共有三种使用方式 EXEC 运行 Ruby 脚本文件。 例如:

$ Knife exec /path/to/script_file

要么:

$ 刀 exec -E '红宝石代码'

要么:

$刀执行
红宝石代码
^D

使用名为的 Ruby 脚本检查 Knife 的状态 状态文件 (看起来像):

printf "%-5s %-12s %-8s %s\n", "Check In", "Name", "Ruby", "Recipes"
node.all 做 |n|
checkin = Time.at(n['ohai_time']).strftime("%F %R")
rubyver = n['语言']['ruby']['版本']
recipes = n.run_list.expand(_default).recipes.join(", ")
printf "%-20s %-12s %-8s %s\n", checkin, n.name, ruby​​ver, recipes
end

并位于名为的目录中 脚本/,请输入:

$刀执行脚本/status.rb

要显示所有节点的可用空闲内存,请输入:

$ Knife exec -E 'nodes.all {|n| puts "#{n.name} 有 #{n.memory.total} 空闲内存"}'

要列出所有可用的搜索索引,请输入:

$ Knife exec -E 'puts api.get("search").keys'

使用名为的 Ruby 脚本查询节点的多个属性 搜索属性.rb
(看起来像):

% cat 脚本/search_attributes.rb
查询 = ARGV[2]
属性 = ARGV[3].split(",")
输入“您的查询:#{query}”
puts "你的属性:#{attributes.join(" ")}"
结果= {}
搜索(:节点,查询)做 |n|
结果[n.name] = {}
属性.每个{|a| 结果[n.name][a] = n[a]}
end

结果
退出0

输入:

% 刀 exec 脚本/search_attributes.rb "hostname:test_system" ipaddress,fqdn

返回类似的东西:

您的查询:主机名:test_system
你的属性:ipaddress fqdn
{"test_system.example.com"=>{"ipaddress"=>"10.1.1.200", "fqdn"=>"test_system.example.com"}}

使用 onworks.net 服务在线使用 Knife-exec


免费服务器和工作站

下载 Windows 和 Linux 应用程序

Linux 命令

Ad




×
广告
❤️在这里购物、预订或购买——免费,有助于保持服务免费。