问题标签 [knife]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
468 浏览

backup - 如何使用刀具必备工具来备份 Chef 11

我正在尝试使用 knife-essentials 将 Chef 11 服务器中的所有对象备份到 json 文件。我创建了一个包含 .chef/download.rb 的目录“备份”

当我尝试使用“刀下载”时,出现此错误:

这是在抱怨 cookbook_path,所以我尝试删除该行,但这给了我这个:

使用knife-essentials下载Chef 11中所有内容的正确方法是什么?

谢谢

0 投票
1 回答
235 浏览

amazon-web-services - Chef Knife AWS EC2 实例弹性 IP

我将需要旋转多个弹性 ip 来从站点创建帐户。

我计划使用 aws ec2 API 或构建厨师食谱来做到这一点。

我想知道使用厨师食谱来完成这项任务是否是一个很好的解决方案。

0 投票
1 回答
4862 浏览

ssh - 使用knife ec2插件在VPC私有子网中创建VM

尽管我已经写了相当多的厨师,但我对 AWS/VPC 和管理网络流量(尤其是堡垒主机)都相当陌生。

使用刀 ec2 插件,我希望能够从我的开发人员工作站动态创建和引导 VM。VM 应该能够存在于我的 VPC 的公共子网或私有子网中。我想在不使用弹性 IP 的情况下完成所有这些工作。我还希望我的堡垒主机不插手(即我希望避免在我的堡垒主机上创建显式的每个 VM 监听隧道)

我已经成功地使用knife ec2 插件在遗留EC2 模型中创建了一个VM(例如在我的VPC 之外)。我现在正在尝试在我的 VPC 中创建一个实例。在刀命令行上,我指定了网关、安全组、子网等。虚拟机被创建,但刀随后无法通过 ssh 连接到它。

这是我的刀命令行:

我怀疑我的问题与堡垒主机的配置有关。经过一天的谷歌搜索,我无法找到有效的配置。我可以通过 ssh 连接到堡垒主机,然后可以从那里通过 ssh 连接到新创建的虚拟机。我无法使用 gateway 参数成功地复制它。

我玩过/etc/ssh/ssh_config。这是它今天的存在方式:

我还将 /home/ubuntu/.ssh/identity 设置为我的新实例的匹配私钥。

更新:

我在堡垒主机的 /var/log/auth.log 中注意到以下内容:

0 投票
1 回答
3352 浏览

linux - 为什么 Chef 找不到我的文件?

我正在开发一个Ganglia食谱Chef。很简单,我构建了四个不同的配置文件,我已经尝试使用 as template,但是为了简单起见,我构建了这些配置文件。

这是我的食谱:

这就是我的食谱的结构:

但是当我尝试运行我的食谱时,它给出了以下错误:

基本上它说我没有文件,但我有,在正确的路径上,对吧?

0 投票
1 回答
1392 浏览

chef-infra - 刀菜谱上传--全部返回内部服务器错误

当我运行时:knife cookbook upload --all

这是返回的:

我检查了服务器日志chef-server-ctl tail

日志很疯狂。http://pastebin.com/ee9fR90j

关于为什么我不能上传食谱的任何建议?我在哪里可以查看更详细的错误?我不知所措。谢谢你。

0 投票
1 回答
706 浏览

amazon-ec2 - 刀/厨师 - 如何捕获命令行参数并传递给厨师食谱

有没有办法捕获命令行参数并传递给厨师食谱?我要做的是自动将主机名填充到各个地方。一个在/etc/sysconfig/networkDOMAIN 字段中。

因此,如果启动服务器的命令是

我想捕获“myserverName”并将其传递给在引导时可能需要它来构建 FQDN 的各种配方。

这不是通过 JSON 选项,而是直接来自命令行。

0 投票
1 回答
1194 浏览

python - 以编程方式覆盖厨师中的属性

我正在使用厨师来测试软件。因此,所述软件动态/的文件名和下载位置将作为属性传入。

请注意,作为测试过程的一部分,我必须使用我们的运营团队正在使用的厨师脚本和食谱。它们在环境级别和 default.rb 食谱级别具有相关值。他们使用ruby脚本通过knife openstack设置虚拟机&&通过REST api将该服务器添加到厨师:

理想情况下,文件名和位置将作为命令行参数传递到 python 应用程序中,然后使用刀或 pychef(或 ruby​​,如果我必须...)设置/覆盖现有的节点级属性。

他们用来添加服务器的方法忽略了-j我在其他类似问题中看到的选项。

我已经尝试过knife node edit-但这需要使用编辑器..

我努力了

node.override['testSoftware']['downloads']['testSoftwareInstaller']随后返回原始值(在 UI 中可以看作原始值)。您似乎只能以这种方式设置属性 - 但不能编辑/覆盖现有属性。

我正在考虑简单地动态生成 environment.json 文件......但不希望偏离正在使用的操作。

0 投票
4 回答
3518 浏览

ruby - 在 ruby​​ 类中调用刀

我想围绕刀创建一个很好的包装类,以允许程序以可读的方式运行刀命令。我目前正在尝试使用 chef gem 中的knife.rb 文件作为取得成功的指南。但是,我在关闭编辑器时遇到问题。如果我运行以下代码:

它导致以下错误:

有人对如何成功地做到这一点有任何想法吗?是否有一个已经存在的图书馆可以满足我的需要?

0 投票
3 回答
2497 浏览

chef-infra - 刀:一次获得两个(或更多)属性

我目前可以通过以下方式一次获取节点的一个属性knife search node

我想通过一次调用同时检索两个属性,如下所示:

当然这样不行,只能获取一个属性。由于我几乎没有厨师/刀具知识,有人可以让我知道如何做到这一点,或者其他方式来实现这一点。

0 投票
4 回答
5081 浏览

windows - 刀窗:网络错误:getaddrinfo:名称或服务未知(windows:22)

我有一个 Ubuntu 工作站,我正在尝试引导一个 Windows 节点。Windows 节点在端口 2222 上打开了 ssh。我一直在关注http://docs.opscode.com/plugin_knife_windows.html

在我看来,它试图将 windows 这个词用作 IP 的一部分。但是我的语法与指南相匹配,所以我不知道为什么。有没有人对如何解决这个问题有任何想法?