问题标签 [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.
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。
使用刀独奏配置rbenv和ruby -build 食谱的正确方法是什么?
编辑:
这个问题实际上只是关于如何正确配置和使用这两个说明书,例如做一个user_install。
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
,效果很好。此外,远程机器都正确设置了厨师独奏。
ruby - 如果我想用厨师安装软件,我应该在服务器机器上做什么
最近在学习chef,在网上找到教程,他们在服务器机器上安装软件之前安装了ruby环境和chef。
如果我想在服务器机器上安装软件,我的问题是 ruby 环境和 gem chef 是必需的吗?
curl - curl:(6)无法解析主机“www.opscode.com”
我在做刀独奏准备后出了点问题。我不知道为什么会这样。
我按照此步骤手动创建 .pem。 http://panoptic.com/wiki/aolserver/How_to_generate_self-signed_SSL_certificates
卷曲有什么问题?
cmiiw
chef-infra - 刀命令不能用于刀独奏
我使用刀独奏与厨师独奏一起工作,但我发现我不能使用很多刀命令,除了knife solo
例如:
我可以做什么来使用刀命令?提前致谢。
gem - sudo:厨师独奏:找不到命令
我对宝石刀独奏有疑问。首先,我想解释我的错误并对此进行调查。
首先,在我之后knife solo cook
。我遇到了运行时错误。
然后我在谷歌叔叔中搜索:-D 我找到了这种方式链接
这是我的错误来自`knife solo cook root@myhost -VV
所以决定添加它--no-chef-check
,我没有收到“找不到厨师”的错误。我测试它有这个错误
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
- 所以我只能输入密码。
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 网站食谱
$
很高兴知道厨师需要什么样的设置来解决这个问题。
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
文件中指定不同的选项,但没有成功。
实现这一目标的正确方法是什么?或者厨师不是这样工作的,如果是这样,首选的替代方法是什么?这是我应该将食谱和刀单存储库合并为一个单刀存储库的标志吗?
git - 使用 chef-solo 克隆私人 git 存储库的问题
我正在尝试使用 chef-solo 来拉私有 git repo。我使用以下步骤来创建我的设置。
- 创建必要的数据包来加密私有 ssh 密钥
一个。创建加密密钥文件
EDITOR=vim刀solo数据包创建秘密--secret_file=...
湾。删除换行符并复制到剪贴板
选择猫~/.ssh/id_rsa | tr -d '\r\n' > pbcopy
C。编辑文件
d。它正确创建了数据包,我可以查看它
ssh-wrapper 引用私钥文件
#!/bin/sh exec ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -i "/home/ubuntu/.ssh/id_rsa" "$@"
使用 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 失败,而在本地机器上执行成功验证守护进程默认不运行,那么如何自动启动呢?
同样,以上所有可能是由于私钥。但是,在比较远程机器上解密的私钥内容时,与本地私钥(未加密的原始密钥)匹配。
如果能深入了解上述行为和潜在的解决方案,那就太好了。