问题标签 [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.
backup - 如何使用刀具必备工具来备份 Chef 11
我正在尝试使用 knife-essentials 将 Chef 11 服务器中的所有对象备份到 json 文件。我创建了一个包含 .chef/download.rb 的目录“备份”
当我尝试使用“刀下载”时,出现此错误:
这是在抱怨 cookbook_path,所以我尝试删除该行,但这给了我这个:
使用knife-essentials下载Chef 11中所有内容的正确方法是什么?
谢谢
amazon-web-services - Chef Knife AWS EC2 实例弹性 IP
我将需要旋转多个弹性 ip 来从站点创建帐户。
我计划使用 aws ec2 API 或构建厨师食谱来做到这一点。
我想知道使用厨师食谱来完成这项任务是否是一个很好的解决方案。
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 中注意到以下内容:
linux - 为什么 Chef 找不到我的文件?
我正在开发一个Ganglia
食谱Chef
。很简单,我构建了四个不同的配置文件,我已经尝试使用 as template
,但是为了简单起见,我构建了这些配置文件。
这是我的食谱:
这就是我的食谱的结构:
但是当我尝试运行我的食谱时,它给出了以下错误:
基本上它说我没有文件,但我有,在正确的路径上,对吧?
chef-infra - 刀菜谱上传--全部返回内部服务器错误
当我运行时:knife cookbook upload --all
这是返回的:
我检查了服务器日志chef-server-ctl tail
日志很疯狂。http://pastebin.com/ee9fR90j
关于为什么我不能上传食谱的任何建议?我在哪里可以查看更详细的错误?我不知所措。谢谢你。
amazon-ec2 - 刀/厨师 - 如何捕获命令行参数并传递给厨师食谱
有没有办法捕获命令行参数并传递给厨师食谱?我要做的是自动将主机名填充到各个地方。一个在/etc/sysconfig/network
DOMAIN 字段中。
因此,如果启动服务器的命令是
我想捕获“myserverName”并将其传递给在引导时可能需要它来构建 FQDN 的各种配方。
这不是通过 JSON 选项,而是直接来自命令行。
python - 以编程方式覆盖厨师中的属性
我正在使用厨师来测试软件。因此,所述软件动态/的文件名和下载位置将作为属性传入。
请注意,作为测试过程的一部分,我必须使用我们的运营团队正在使用的厨师脚本和食谱。它们在环境级别和 default.rb 食谱级别具有相关值。他们使用ruby脚本通过knife openstack设置虚拟机&&通过REST api将该服务器添加到厨师:
理想情况下,文件名和位置将作为命令行参数传递到 python 应用程序中,然后使用刀或 pychef(或 ruby,如果我必须...)设置/覆盖现有的节点级属性。
他们用来添加服务器的方法忽略了-j
我在其他类似问题中看到的选项。
我已经尝试过knife node edit
-但这需要使用编辑器..
我努力了
但node.override['testSoftware']['downloads']['testSoftwareInstaller']
随后返回原始值(在 UI 中可以看作原始值)。您似乎只能以这种方式设置新属性 - 但不能编辑/覆盖现有属性。
我正在考虑简单地动态生成 environment.json 文件......但不希望偏离正在使用的操作。
ruby - 在 ruby 类中调用刀
我想围绕刀创建一个很好的包装类,以允许程序以可读的方式运行刀命令。我目前正在尝试使用 chef gem 中的knife.rb 文件作为取得成功的指南。但是,我在关闭编辑器时遇到问题。如果我运行以下代码:
它导致以下错误:
有人对如何成功地做到这一点有任何想法吗?是否有一个已经存在的图书馆可以满足我的需要?
chef-infra - 刀:一次获得两个(或更多)属性
我目前可以通过以下方式一次获取节点的一个属性knife search node
:
我想通过一次调用同时检索两个属性,如下所示:
当然这样不行,只能获取一个属性。由于我几乎没有厨师/刀具知识,有人可以让我知道如何做到这一点,或者其他方式来实现这一点。
windows - 刀窗:网络错误:getaddrinfo:名称或服务未知(windows:22)
我有一个 Ubuntu 工作站,我正在尝试引导一个 Windows 节点。Windows 节点在端口 2222 上打开了 ssh。我一直在关注http://docs.opscode.com/plugin_knife_windows.html。
在我看来,它试图将 windows 这个词用作 IP 的一部分。但是我的语法与指南相匹配,所以我不知道为什么。有没有人对如何解决这个问题有任何想法?