Puppet代码部署、持续集成与扩展策略
一、Puppet变更传播
在生产环境中部署Puppet代码,需要更新Puppet Master服务目录下的文件(在无主节点设置中,则需在每个节点上分发这些文件)。但与其他典型应用部署不同的是,这一过程并未结束,我们还需要在节点上运行Puppet以应用这些变更。变更传播的方式主要取决于管理Puppet执行的策略,以下是几种常见的管理方式及特点:
1. 将Puppet作为服务运行 :在这种情况下,Puppet生产环境(或默认配置的环境)中的任何变更都会在 runinterval 时间范围内传播到整个基础设施。
2. 通过cron作业运行Puppet :与作为服务运行类似,推送到生产环境的任何内容都会在我们定义的cron间隔内自动传播。若要在选定的服务器上进行受控的Puppet执行,唯一的方法是在代码推广到生产环境之前使用专用环境。
3. 集中管理Puppet运行 :可以使用MCollective(详情可查看http://www.slideshare.net/PuppetLabs/presentation - 16281121 )来集中管理Puppet。代码推送到生产环境后,我们可以在将变更传播到整个基础设施之前,先在单台机器上手动运行。可以通过使用金丝雀节点(先应用和监控变更)或在大型安装中设置不同的节点集群,以可控的方式进行完整的部署。
无论采用哪种模式,密切关注Puppet报告并快速发现Puppet运行导致的早期故障迹象非常重要。
超级会员免费看
订阅专栏 解锁全文
4

被折叠的 条评论
为什么被折叠?



