我正在部署一个分布式服务,在less数节点上使用NFS共享。 在这种情况下,有一个导出NFS共享的主节点和一些必须装载此导出的从属节点。
使用厨师,我能够调配主节点。 一旦主节点完成,我可以并行configuration从站。 但是,如果chef-client在所有节点上(大致)同时启动,则从服务器将失败,因为服务器上的NFS共享尚不存在。
使用厨师,我怎样才能确保在奴隶开始之前完成主人的供应? 我想这是可以接受的,等待NFS导出可用的时候暂停(也可能超时几分钟),尽pipe如果我能保证主服务器已经完全configuration好(所有的配方/angular色),然后让一个奴隶的厨师客户端继续进行。
一般来说,最好的方法是不能确保一切。 如果依赖关系不可用,那么写下你的配方代码,然后使用chef-client的守护进程模式(或者从cron运行),这样只要需要,它就会继续尝试,直到成功。