自动更新厨师客户端

我一直在探索厨师,其function之一是自动更新客户端。 我很犹豫在生产中使用这个function,因为我不想在使用中升级节点。 对于重大更改,我想将stream量路由到不同的节点,然后升级(例如,我不想在使用时升级我的应用服务器)。

我知道我可以脚本更新我的节点和更新的需求,但我想知道如果人们只是让他们的节点自动更新生产,以及他们是如何处理升级,而服务器正在使用。

它取决于你的环境如何运作。

例如:我只是跟Heroku的一个前系统pipe理员交谈。 他们有一个高度自动化的系统; 当一个节点需要更新或者其他东西时,它进入“维护模式”。 所有的stream量都被卸载到其他服务器上。 一旦完成,这是“维护就绪”,更新应用,并重新启动。 当它回来时,其他系统将其识别为“准备就绪”,并且开始再次获得stream量。

如何工作的关键是应用程序中的每个层“知道”哪些服务器可用,并智能地路由stream量。 不幸的是,大多数供应商提供的应用程序具有极小的故障切换能力,而且不是很好。 所以你可能会被从头到尾的手动过程困住。