据我所知,Chef是关于拉模型的,意味着将cookbook上传到厨师服务器,在节点上运行chef-client命令时,将下载烹饪书并安装在厨师客户端上.
Rundeck是一个推模型,意味着rundeck可以安装在一台机器上,我们可以将节点注册到该rundeck.Rundeck将根据应用的过滤器在节点上运行作业.
现在我的问题是:
如果我们可以安装rundeck并将作业推向节点那么我们为什么需要厨师呢?
我们为什么要将rundeck与厨师整合?
厨师可以做什么,rundeck不能做什么?
厨师还支持推送工作吗?
StephenKing.. 7
如果我们可以安装rundeck并将作业推向节点那么我们为什么需要厨师呢?
使用rundeck,您可以执行命令.Chef遵循所需的状态模型并应用所需的状态,类似于Puppet,CFEngine和Ansible等工具.
这包括幂等性的想法:想象一下,你有干净的服务器和较旧的服务器,并希望确保在所有这些服务器上配置某个状态.使用rundeck运行几个命令现在可以在干净的节点上运行,但是在旧的节点上运行失败,因为它已经在不久前完成了.相比之下,Chef的模型是它认识到系统已处于所需状态并且什么都不做.
我们为什么要将rundeck与厨师整合?
恕我直言,你会将它集成到您的节点上运行chef-client,即切换到更推的模型,而不是等待厨师 - 客户端启动(通常间隔30分钟).
厨师可以做什么,rundeck不能做什么?
往上看.相反,Rundeck允许执行单个ad-hoc命令,例如"我的服务器上的CPU负载是多少".厨师不支持此功能.
厨师还支持推送工作吗?
有点,不是真的.有Chef Chef Jobs,它允许您运行预先配置的命令,例如,启动chef-client
节点.最近有一篇博客文章解释说,Chef Inc.认为这是Chef Push Jobs的主要目标,并不打算进一步扩展它.所以你不能用它运行ad-hoc命令.
如果我们可以安装rundeck并将作业推向节点那么我们为什么需要厨师呢?
使用rundeck,您可以执行命令.Chef遵循所需的状态模型并应用所需的状态,类似于Puppet,CFEngine和Ansible等工具.
这包括幂等性的想法:想象一下,你有干净的服务器和较旧的服务器,并希望确保在所有这些服务器上配置某个状态.使用rundeck运行几个命令现在可以在干净的节点上运行,但是在旧的节点上运行失败,因为它已经在不久前完成了.相比之下,Chef的模型是它认识到系统已处于所需状态并且什么都不做.
我们为什么要将rundeck与厨师整合?
恕我直言,你会将它集成到您的节点上运行chef-client,即切换到更推的模型,而不是等待厨师 - 客户端启动(通常间隔30分钟).
厨师可以做什么,rundeck不能做什么?
往上看.相反,Rundeck允许执行单个ad-hoc命令,例如"我的服务器上的CPU负载是多少".厨师不支持此功能.
厨师还支持推送工作吗?
有点,不是真的.有Chef Chef Jobs,它允许您运行预先配置的命令,例如,启动chef-client
节点.最近有一篇博客文章解释说,Chef Inc.认为这是Chef Push Jobs的主要目标,并不打算进一步扩展它.所以你不能用它运行ad-hoc命令.