问题标签 [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 投票
7 回答
12637 浏览

chef-infra - 刀引导命令不提示密码

我正在尝试编写一个 bash 脚本,其中包含使用命令引导 Ubuntu 客户端节点的knife命令。当我执行脚本时,该knife命令询问客户端节点的 sudo 密码,一旦我输入密码,它就会按预期工作。但我正在寻找一种无需提示密码的自动化方式。这是我用于引导的命令。

检查后,knife bootstrap 文件,我尝试给 ssh-password 也如下所示,但结果相同。

这个命令可能有什么问题。我期待刀命令自动登录到客户端和引导程序,但它的询问就像,

有任何想法吗??

0 投票
3 回答
873 浏览

ruby - gssapi 需要 Ruby 版本 >= 1.9.1。在宝石安装

我正在尝试knife-cloudstack在 Ubuntu 12.04 上使用 gem install 安装插件,并配置了 chef-client 并得到了标题中所述的错误。

所以我尝试安装apt-get install ruby1.9.3,但仍然是同样的错误。

此外,ruby 的版本显示为 1.9.3

ruby --version ruby​​ 1.9.3p0(2011-10-30 修订版 33570)[i686-linux]

为了更加困惑,当我运行时sudo update-alternatives --config ruby,它显示的输出为:

PS:最初 * 在 Selection:0 上,后来我将其更改为 2。

现在ruby1.9.3在哪里?即使我安装了 ruby​​1.9.3,为什么还要使用其他版本?有人知道是什么原因造成的吗?

谢谢。

0 投票
3 回答
11859 浏览

ubuntu - 如何使用 Chef 设置/更改主机名?

我在运行模式下的节点很少,我必须为这些节点设置主机名。

是否有任何食谱,因为我们可以设置属性 host_name 并在各个节点上运行该食谱?

0 投票
1 回答
2494 浏览

chef-infra - 使用刀在服务器上引导配方并转发版本参数

我有一个非常简短的食谱,看起来像这样:

我运行以下刀命令:

我想知道如何在我的刀命令中传递版本号并将 bash 脚本更改为也采用该版本,如下所示:

配方应该是这样的:

我在刀引导手册上读到我可以使用“-j”标志来传递 json 参数,但我找不到任何关于如何在配方中实际使用这些 json 参数的示例。

0 投票
3 回答
3467 浏览

chef-infra - “致命:搜索未返回任何节点!” 使用 SSH 搜索或访问节点时

我正在使用 EC2 创建实例。

当我运行时knife node list,我可以看到所有节点

当我尝试搜索NodeC时,它给了我一条错误消息

当我尝试NodeC使用 SSH 访问同一个节点时,我遇到了同样的错误。

但是当我运行时knife node list,我可以NodeC在列表中看到。

即使我运行knife search node:,它也会显示所有节点,除了NodeC

任何人都可以提出解决方案吗?

0 投票
2 回答
535 浏览

chef-infra - 如何为 Chef 的节点添加动态参数?

我有一个受 Chef 控制的基础架构,每天部署大量服务器。我需要根据用户信息向每个节点添加一些动态数据,例如:

knife node edit看起来不像我需要的,因为我不想动态解析文件,只添加(和重写)单个参数结构。

编辑: 这个插件好像挺不错的,如果没有原生方式的话:https ://github.com/amian84/knife-set-attribute

0 投票
4 回答
5160 浏览

ssh - 错误运行刀 ssh 名称:* 'sudo chef-client'

我正在尝试在所有节点上运行“sudo chef-client”。为此,我正在尝试运行命令:

但与机器连接出错

警告:无法连接到 -- Net::SSH::AuthenticationFailed: *chef_workstation_user_name*@*node_name*

节点是本地网络中的真实机器。我已经通过运行注册了节点

sudo 刀引导 node_ip_address -x node_name -P node_pass --sudo

当我跑步时

它仍然询问本地机器(节点)的密码,然后以超级用户权限运行 chef-client。

所以问题是如何在我的情况下在所有节点上运行“sudo chef-client”?

PS 所有节点都有不同的超级用户名

0 投票
1 回答
2129 浏览

ruby - 无法将菜谱从刀上传到厨师服务器

我在 ubuntu ec2 实例上运行开源厨师服务器。我正在尝试使用刀将食谱从我的工作站上传到厨师服务器,但出现以下错误

当我在详细模式下运行相同的命令时,我发现我的笔记本电脑上安装的刀或工作站或厨师客户端正在尝试连接到 ubuntu ec2 实例的私有 IP。

如何防止小刀停止连接ubuntu ec2实例的私有ip,连接到服务器的子域/域或弹性ip。

请帮帮我

0 投票
1 回答
806 浏览

ruby-on-rails - 从 Rails 应用程序中使用刀

我们使用 Amazon 的 SNS 来通知我们的应用程序对我们的自动缩放组的更改。如果服务器终止,我们要删除节点。

通知工作正常,自动缩放组也是如此。我唯一的问题是我无法从我的 Rails 应用程序中运行刀命令,我猜是因为它调用了错误的 Ruby 版本并试图使用应用程序的 gems。我们使用的是 RVM 安装的 ruby​​-2.0.0-p195,我不想捆绑 Chef。

因此,当我尝试执行刀时,错误是:

我可以看到刀的召唤厨师,但需要作为系统宝石这样做。在刀.rb 中:

也看过这个 SO 帖子,但我不想使用rvm-with gem。

我转而查看了 Opscode API,但这并不适合我们。有没有更好、更复杂的方法来做到这一点?

0 投票
3 回答
7973 浏览

amazon-web-services - 如何使用刀编辑 ec2 节点的厨师属性

我想使用knife node命令编辑 ec2 节点的 node_data。
我可以使用以下命令手动完成。
knife node edit NODE_NAME
它将生成一个我需要编辑的 json。

我想node_data在那个json中编辑。
如果我必须编辑 run_list 有一个命令,
knife node run_list add node 'role[ROLE_NAME]'
我需要类似于这个命令的东西。