问题标签 [knife-solo]

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 投票
3 回答
865 浏览

chef-infra - 如何配置厨师 rbenv 和 ruby​​-build 食谱?

尽管使用此运行列表进行初始部署时不会引发任何错误:

"run_list": [ "recipe[ruby_build]", "recipe[rbenv::system_install]", "recipe[main]" ]

...后续部署会引发多个 rsync 错误,例如:

rsync: delete_file: unlink(ruby-build/share/ruby-build/1.9.3-p392) failed: Permission denied (13)

似乎权限/tmp/chef-solo设置为root。

使用刀独奏配置rbenvruby ​​-build 食谱的正确方法是什么?

编辑:

这个问题实际上只是关于如何正确配置和使用这两个说明书,例如做一个user_install

0 投票
2 回答
300 浏览

ruby - 为什么使用 Parallel gem 运行“knife solo cook”会出现端口错误?

我们正在尝试在远程机器上运行刀独奏烹饪命令。当我们在每台机器上按顺序执行命令时,它可以毫无问题地工作。我们尝试使用这样的Parallel gem 来并行化它:

这样做,恰好首先运行的线程按预期执行。但是,其他线程不执行并停止并出现错误:“EADDRINUSE:地址已在使用中 - bind(2) for 127.0.0.1:8889”

我们在调用knife solo cook调查的同一个地方输入了一个 netstat 命令,发现第一个线程在 8889 端口上打开了一个 Listen 套接字。我们确实打开了任何套接字,也没有发现任何迹象表明刀或 Net:SSH(由刀使用)正在执行此操作。

有谁知道谁在打开这个套接字?或者是否有任何配置文件?

谢谢!

编辑:忘了提,我们knife solo prepare在打电话之前做同样的事情cook,效果很好。此外,远程机器都正确设置了厨师独奏。

0 投票
1 回答
90 浏览

ruby - 如果我想用厨师安装软件,我应该在服务器机器上做什么

最近在学习chef,在网上找到教程,他们在服务器机器上安装软件之前安装了ruby环境和chef。

如果我想在服务器机器上安装软件,我的问题是 ruby​​ 环境和 gem chef 是必需的吗?

0 投票
1 回答
1428 浏览

curl - curl:(6)无法解析主机“www.opscode.com”

我在做刀独奏准备后出了点问题。我不知道为什么会这样。

我按照此步骤手动创建 .pem。 http://panoptic.com/wiki/aolserver/How_to_generate_self-signed_SSL_certificates

卷曲有什么问题?

cmiiw

0 投票
2 回答
192 浏览

chef-infra - 刀命令不能用于刀独奏

我使用刀独奏与厨师独奏一起工作,但我发现我不能使用很多刀命令,除了knife solo

例如:

我可以做什么来使用刀命令?提前致谢。

0 投票
1 回答
1391 浏览

gem - sudo:厨师独奏:找不到命令

我对宝石刀独奏有疑问。首先,我想解释我的错误并对此进行调查。

首先,在我之后knife solo cook。我遇到了运行时错误。

然后我在谷歌叔叔中搜索:-D 我找到了这种方式链接

这是我的错误来自`knife solo cook root@myhost -VV

所以决定添加它--no-chef-check,我没有收到“找不到厨师”的错误。我测试它有这个错误

0 投票
1 回答
1290 浏览

ssh - 对具有 sudo 访问权限的非 root 用户使用刀独奏,无需密码

当我chef knife solo与具有 sudo 访问权限的非 root 用户一起使用时,它总是询问我该用户的密码。但是,我已经关闭了对该服务器的密码访问。

我已将我的 ssh 密钥添加到服务器,ssh supersecretuser@productionserver并且无需密码即可通过 ssh 进入该服务器。

我已经chef knife solo在我的登台服务器上使用了 root 用户,它工作正常。

我已经尝试使用该-i选项显式传递我的 ssh 密钥,chef knife solo cook supersecretuser@productionserver -i ~/.ssh/id_rsa.pub而刀独奏似乎没有使用它。关于下一步尝试什么的任何想法?

注意:我正在展示cook,因为那是我所在的地方。我做了一个prepare并且它起作用了,因为我还没有关闭密码访问 - 这是我第一次发生的cook- 所以我只能输入密码。

0 投票
1 回答
369 浏览

chef-infra - 刀单警告本地食谱路径

使用knife-solo 时,我收到此警告:“Local cookbook_path '/Users/username/chef-test/cookbooks' 不存在”,并且在我知道之前就删除了cookbooks 目录。删除 Berksfile,我没有警告消息。

$ 刀 -v
厨师:12.0.0
$ 宝石列表 | grep 刀
刀独奏(0.4.2)
$刀独奏初始化。
创建厨房...
在厨房创建knife.rb...
创建橱柜...
设置Berkshelf...
$ ls -al
total 32
drwxr-xr-x 13 username staff 442 12 7 19:11 。
drwxr-xr-x+ 26 用户名员工 884 12 7 19:09 ..
drwxr-xr-x 3 用户名员工 102 12 6 22:04 .chef
-rw-r--r-- 1 用户名员工 12 12 7 19:11 .gitignore
drwxr-xr-x 3 用户名员工 102 12 6 21:52 .vagrant
-rw-r--r-- 1 用户名员工 41 12 7 00:34 Berksfile
-rw-r--r-- 1 用户名员工 4818 12 6 21:52 Vagrantfile
drwxr-xr-x 3 用户名员工 102 12 7 19:11 食谱
drwxr-xr-x 3 用户名员工 102 12 6 22:04 data_bags
drwxr -xr-x 3 用户名员工 102 12 6 22:04 环境
drwxr-xr-x 4 用户名员工 136 12 7 19:09 节点
drwxr-xr-x 3 用户名员工 102 12 6 22:04 角色
drwxr-xr-x 6用户名 staff 204 12 7 01:48 site-cookbooks
$ knife solo cook webdb
在 webdb 上运行 Chef ...
检查 Chef 版本...
将 Berkshelf 食谱安装到“cookbooks”...
解决食谱依赖项...
上传厨房.. .
警告:本地 cookbook_path '/Users/username/chef-test/cookbooks' 不存在正在
生成单独的配置...正在
运行 Chef...正在
启动 Chef Client,版本 12.0.0正在
编译 Cookbooks...
融合 4 个资源
配方:apache: :default
* yum_package[httpd] action install (最新)
* service[httpd] action enable (最新)
* service[httpd] action start (up to date)
Recipe: mysql::default
* yum_package[mysql-server ] action install (最新)
* service[mysqld] action enable (最新)
* service[mysqld] action start (最新) Running handlers:
Running handlers complete
Chef 客户端完成,0/6 资源在 3.239891356 秒内更新
$ ls -al
total 32
drwxr-xr-x 12 username staff 408 12 7 19:12 。
drwxr-xr-x+ 26 用户名员工 884 12 7 19:09 ..
drwxr-xr-x 3 用户名员工 102 12 6 22:04 .chef
-rw-r--r-- 1 用户名员工 12 12 7 19:11 .gitignore
drwxr-xr-x 3 用户名员工 102 12 6 21:52 .vagrant
-rw-r--r-- 1 用户名员工 41 12 7 00:34 Berksfile
-rw-r--r-- 1 用户名员工 4818 12 6 21:52 Vagrantfile
drwxr-xr-x 3 用户名员工 102 12 6 22:04 data_bags
drwxr-xr-x 3 用户名员工 102 12 6 22:04 环境
drwxr-xr-x 4 用户名员工 136 12 7 19:09节点
drwxr-xr-x 3 用户名员工 102 12 6 22:04 角色
drwxr-xr-x 6 用户名员工 204 12 7 01:48 网站食谱
$

很高兴知道厨师需要什么样的设置来解决这个问题。

0 投票
1 回答
367 浏览

chef-infra - 如何从厨师食谱中引用刀独奏站点食谱文件

我正在编写一个厨师食谱食谱,旨在将文件放置到节点服务器上。

我打算允许这本食谱的用户将源文件放在他/她的刀独奏存储库的“site-cookbooks”目录中。

问题是这种配置Chef::Exceptions::FileNotFound: Cookbook 'my-cookbook' (0.1.0) does not contain a file at any of these locations: ...knife solo cook部署时抛出。

我尝试cookbook_path在刀独奏存储库的.chef/knife.rb文件中指定不同的选项,但没有成功。

实现这一目标的正确方法是什么?或者厨师不是这样工作的,如果是这样,首选的替代方法是什么?这是我应该将食谱和刀单存储库合并为一个单刀存储库的标志吗?

0 投票
0 回答
260 浏览

git - 使用 chef-solo 克隆私人 git 存储库的问题

我正在尝试使用 chef-solo 来拉私有 git repo。我使用以下步骤来创建我的设置。

  1. 创建必要的数据包来加密私有 ssh 密钥

一个。创建加密密钥文件

EDITOR=vim刀solo数据包创建秘密--secret_file=...

湾。删除换行符并复制到剪贴板

选择猫~/.ssh/id_rsa | tr -d '\r\n' > pbcopy

C。编辑文件

d。它正确创建了数据包,我可以查看它

  1. ssh-wrapper 引用私钥文件

    #!/bin/sh exec ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -i "/home/ubuntu/.ssh/id_rsa" "$@"

  2. 使用 git 资源,签出或克隆 repo

attributes.rb 文件包含以下内容

最后,当我运行以下命令'knife solo bootstrap ubuntu@'时,我观察到以下情况。

  • 代码在运行“同步”操作时被卡住并且永远不会完成。
  • 在 AWS 实例上,私钥 id_rsa 正在 .ssh 目录中生成,但是在执行 ssh-add ~/.ssh/id_rsa 时,它会要求输入密码(即使原始 ssh-keygen 命令没有任何密码)
  • 在 AWS 实例上,手动执行 git ls remote git@github.com:test 失败,而在本地机器上执行成功验证守护进程默认不运行,那么如何自动启动呢?

同样,以上所有可能是由于私钥。但是,在比较远程机器上解密的私钥内容时,与本地私钥(未加密的原始密钥)匹配。

如果能深入了解上述行为和潜在的解决方案,那就太好了。