我想使用 Ansible 向我的机器推出软件包更新。但我想先在本地虚拟机上测试这些更新。这在现实世界中通常是如何实现的?
- 我是否将 Ansible 配置中每个重要包“锁定”到特定版本,然后测试每个更新?
- 我是否定期获取可升级软件包列表,并同时在我的虚拟机和服务器上更新它们?我可能会在保持服务器和虚拟机同步方面遇到一些麻烦。
是否有管理更新的最佳实践?
答案1
Ansible 并不是真正为了解决这类问题而设计的。它能这样做,但充其量也只是很麻烦。
就像是卡特洛(Red Hat Satellite 6 所基于的开源)可以很好地处理这类事情。它会将软件包保持在您测试过的确切版本,并允许您将它们从开发阶段推广到暂存阶段再到生产阶段,或者定义任何对您有意义的工作流程。更不用说处理裸机配置和许多其他事情了。它在这种情况下的唯一缺点是它与 Puppet 很好地集成在一起,因此在某些地方将它与 Ansible 一起使用时,自动化程度可能会略低一些。