保持生产Vagrant VM在一段时间内保持一致?

时间:2014-01-27 09:39:50

标签: vagrant

在将第一台服务器迁移到Vagrant VM之前,我正在尝试完全掌握Vagrant概念。

AFAIK,Vagrant永远不会修改基本图像,以便可以安全地在项目中重复使用它们。

但是,您如何确保保持正在运行的VM一致,因为包更新程序的结果会因您配置它而有所不同?

为了论证,我将使用基于Debian的盒子。 我的配置将从sudo apt-get update && sudo apt-get upgrade开始,以确保我获得了我需要安装的最新版软件。

所以在第X天,我配置了SERVER,它更新了包,并安装了必要的包。

在日期Y,配置新VM以用于测试目的。软件包更新显然会产生不同的VM。

如何保持2个VM一致?

2 个答案:

答案 0 :(得分:2)

您应该创建一个基本框,例如VeeWee

你应该永远不要开始运行apt-get update或yum update等。因为正如你自己所说,你永远不会有一致的环境。

仅在构建自己的基本框时执行此操作。如果要更新基本软件包,只需创建一个新的基本框并使用Vagrant加载该基本框

答案 1 :(得分:1)

您需要不断运行木偶或厨师,以确保正在运行的虚拟机的状态相同。

在您的情况下,如果您使用的是Debian stable,只要配置保持相同的功能,您就不可能拥有不同的包(deps)。 (Arch Linux不时更改软件包名称和代码,这就是很少有人在生产中使用它的原因大声笑。)

对于基本框,我建议使用Packer而不是Veewee(除非您计划构建Windows基本框)。检查封装模板的Opscode便当项目。