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

windows - 厨师单独准备命令不起作用

我正在尝试在远程 Windows 机器上使用 chef solo。当我运行时,我的“chef solo prepare”命令在 linux 远程机器上运行良好,但在运行 cygwin openssh 的 Windows 远程机器上运行:

我收到以下错误:

我已经测试了运行良好的 ssh。有谁知道我能做些什么来解决这个问题?

0 投票
2 回答
3216 浏览

ssh - 厨师:部署一个禁用 root ssh 访问的服务器?

当我们配置新的 linux 服务器时,我们

  • 创建一个具有 sudo 权限的新用户,然后...
  • 阻止 root 访问 ssh

然后我们继续通过新用户帐户配置系统。当然,我们这样做是因为我们的日志中充满了恶意的 ssh root 登录尝试。

但现在我们正在尝试使用 Chef(chef solo、knife-solo 和 librarian-chef)来构建服务器。一旦我们创建了一个阻止从 root 进行 ssh 登录的配方,我们就不能再次运行这些配方。

我已经看到了: 如何从自定义非 root 用户运行 chef-client vagrant provisioner? 但似乎“root”在所有地方都是硬编码的,并且公认的解决方案需要分支所有基本的食谱。

关于如何创建包括禁用 root ssh 访问的可重新运行的 Chef 设置的任何想法?

0 投票
3 回答
175 浏览

chef-infra - 使用 Chef 进行站点部署,但没有完整的节点设置

我们使用 Chef (Chef-Solo) 创建我们的托管站点节点,这非常棒。

我们使用knife solo 将我们的节点作为JSON 文件进行跟踪。我们的节点配置(json 文件)本身被检入到 git 存储库中。我们的节点设置文件和服务器(节点)本身之间存在一对一的关系。

一些节点为一个客户端托管多个站点,最好有一个轻量级的解决方案来为其中一个站点运行 chef 进程的部署部分,而不是运行整个 Chef 节点设置过程。

我意识到这可能是以一种不打算使用的方式使用 chef。我得到了 Chef 的“拉”方法,它是幂等的,它是如何用于配置管理的,以及这种类型的事情如何超出了人们通常会做的范围。简而言之...我想利用 Chef部署资源来部署站点,但不将所有站点部署在特定服务器上。

此外,我熟悉 Capistrano 以及它如何或多或少地完成我想做的事情......如果我能提供帮助,我根本不想在我们的 DevOps 工作流程中引入另一个框架。看起来似乎 Chef 的部署方式与 Capistrano 非常相似,我希望有一种方法可以像这样利用 Chef。

谢谢

0 投票
2 回答
3795 浏览

chef-infra - 如何通过knife-solo和chef-solo-search按角色查找节点,即search(:node, "role:some_role")?

我正在尝试使用刀独奏设置几个服务器,并且我需要在配方中使用基本搜索,以便我可以知道哪些服务器正在实施特定角色。这似乎是使用搜索的最基本目的。

我正在使用chef-solo-search,但是我无法按文档中描述的(似乎是)按角色找到节点;我完全被难住了。我可以破解一个解决方案,但似乎我做错了什么。我构建了一个简化的示例来演示我的问题。

这不起作用...

我创建了一个虚拟角色角色/test_role.json

我测试搜索具有“test_role”角色的节点的基本方法: site-cookbooks/nodesearch/recipes/default.rb

我创建了两个节点:

节点/node1.json

节点/node2.json

当我“烹饪”node1(运行 nodesearch 配方)时,我期待search(:node, "role:test_role")搜索找到 node2,但它什么也没返回。我已经尝试将节点定义移动到 data_bags 目录,因为文档(在某些地方)似乎暗示这是必要的,而且我已经尝试了各种带有 solo.rb 设置的恶作剧等。我相信我已经设置了 chef-solo - 根据文档说明进行搜索,我没有收到任何错误指示。没有想法。

但这有效...

我所做的唯一有效的事情:重写搜索配方:

对此:

第二种形式实际上得到了我想要的结果。这是一个可以接受的解决方法,但它似乎有点像黑客,这让我想知道......要么我一定做错了什么,要么刀单和厨师独奏搜索的所有文档都是错误的(哪个似乎不太可能!)

谁能帮助解释为什么我无法使用search(:node, "role:test_role")获得任何搜索结果 ?

(出于许多仔细考虑的原因,我们明确选择使用厨师服务器解决方案。)

0 投票
1 回答
196 浏览

chef-infra - 我可以使用 Chef-Solo 来配置使用刀桉树创建的服务器吗

我可以像这样使用刀桉树创建一个新服务器:

服务器已创建,但配置失败并显示以下消息:

这是可以理解的,因为我认为它正在尝试使用 Chef Server 进行配置。这就是问题。我想使用 Chef Solo 来配置这个服务器(至少现在是这样)。

有什么方法可以指示knife-eucalyptus 为Chef Solo 配置新服务器吗?

0 投票
1 回答
625 浏览

chef-infra - 无法使用 chef-solo 和刀创建环境和角色

我安装了 chef-solo 使用curl -L https://www.opscode.com/chef/install.sh | bash

但是当我尝试创建角色和环境时,我收到以下错误:

刀角色创建测试
错误:无法从 /etc/chef/client.pem 加载您的私钥
检查您的配置文件并确保您的私钥是可读的

因为我使用的是 chef-solo,所以我没有/etc/chef/client.pem(我想这将在 Chef 服务器和客户端模型中可用)。

而且我认为刀在 chef-solo 中不是最好的选择,因为大多数刀命令基本上是围绕从厨师服务器上传和下载数据的包装器(如果我是正确的)。

那么,谁能告诉我如何使用 chef-solo 创建角色、环境和部署?

0 投票
0 回答
92 浏览

chef-infra - 如何在不烹饪的情况下通过刀单获得食谱列表

之后我收到这样的消息knife solo cook nodename

如何在不烹饪的情况下获得食谱列表?

0 投票
0 回答
2171 浏览

chef-infra - 如何为节点设置环境

我正在尝试run_lists根据环境配置一些特定的节点。所以我创建了环境,然后创建了角色并指定了,然后创建env_run_list了节点my_node_ip.json

但是当我开始时knife solo cook_default环境就设置好了。就在我制作-E test标志之后,它就可以正常工作。chef_environment当我在节点的配置中指定变量时,这不是我期望的正确行为。

有没有更好的方法来避免使用-E标志?

0 投票
2 回答
2146 浏览

chef-infra - 刀单煮命令无法正常工作

所以我在 Ubnuntu 12.04 上运行 Chef-Solo,并在 puTTy 上运行 Linux 操作系统。我的最终目标是使用 Chef 部署 Islandora/Drupal 的实例。但是,目前,我并没有取得太大的成功。这是我运行的命令:

这给了我这个输出:

然后当我运行这个:

...我明白了:

在上述情况下,我以 root 身份运行。根据 Opscode 的文档,一切都在它应该在的地方。但以我的思维方式,这些警告告诉我有些事情不应该是这样。谁能告诉我我错过了什么?谢谢!

0 投票
1 回答
1087 浏览

chef-solo - 单刀准备失败

我正在尝试通过刀独奏配置一个新的 CentOS 6.5 x64 节点。但是当我运行时,knife solo prepare root@centos我得到一个奇怪的错误。

当我尝试调试那个东西并运行时,knife solo prepare -VV root@centos我得到了这个:https ://gist.github.com/Almaron/5709a69e09bad92f3475

我试图用谷歌搜索它,发现它可能是一个代理问题,但我还没有设置任何代理。

更新

尝试运行knife solo prepare root@centos--bootstrap-version 11.12.0 结果如下:https ://gist.github.com/Almaron/2f7987f314132c80b8ed