Rundeck和Chef

时间:2017-01-19 20:09:23

标签: chef rundeck

据我所知,Chef是关于拉模型的,意味着将烹饪书上传到厨师服务器,在节点上运行chef-client命令时,将下载烹饪书并安装在厨师客户端上。

Rundeck是推模型,意味着可以在机器上安装rundeck,我们可以将节点注册到该rundeck。 Rundeck将根据应用的过滤器在节点上运行作业。

现在我的问题是:

  • 如果我们可以安装rundeck并将作业推向节点那么为什么我们需要厨师?
  • 为什么我们要将rundeck与厨师合并?
  • 厨师可以做什么,rundeck可以做什么?
  • 厨师是否也支持推送工作?

2 个答案:

答案 0 :(得分:7)

  

如果我们可以安装rundeck并将作业推向节点那么为什么我们需要厨师?

使用rundeck,您可以执行命令。 Chef遵循所需的状态模型并应用所需的状态,类似于Puppet,CFEngine和Ansible等工具。

这包括幂等性的想法:想象一下,你有干净的服务器和较旧的服务器,并希望确保在所有这些服务器上配置某个状态。使用rundeck运行几个命令现在可以在干净的节点上运行,但是在旧的节点上运行失败,因为它已经在不久前完成了。相比之下,Chef的模型将是它认识到系统已处于所需状态并且什么都不做。

  

为什么我们要将rundeck与厨师合并?

恕我直言,您可以将其集成到您的节点上运行chef-client,即切换到更多推送模式,而不是等待厨师 - 客户端启动(通常间隔30分钟)。

  

厨师可以做什么,rundeck可以做什么?

见上文。相反,Rundeck允许执行单个ad-hoc命令,例如,"我的服务器上的CPU负载是什么"。厨师不支持此。

  

厨师是否也支持推送工作?

有点,不是真的。有Chef Push Jobs,允许您运行预配置的命令,例如,启动节点上的chef-client。最近blog article解释说,Chef Inc.认为这是Chef Push Jobs的主要目标,并不打算进一步扩展它。因此,您无法使用该命令运行ad-hoc命令。

答案 1 :(得分:0)

Rundeck不能与厨师相提并论。 Chef是rundeck使用的工具。将rundeck视为运行异构环境,其中之一就是厨师。如果您问我,从rundeck运行“命令”是一个非常小的功能。重要的是工作。

“我们可以使用这10种工具为客户解决此问题的哪些步骤清单?”

第1步(构建阶段) 定义梯级作业 步骤2。(运行阶段开始) 将rundeck配置为与Chef交谈只是为了获取节点信息,以便我们可以针对那些客户端运行代码 与金库交谈 使用CI执行此操作 用CD来做 等等

厨师只是rundeck工具提供的ebonflow中的一小部分。这只是运行列表中的一个可能步骤。