使用VMware的模板创build新的虚拟机似乎有速度的好处。 但是,我担心可能不那么明显的安全性和灵活性。 例如:
在一个几乎完全是VMware的商店里,大部分的Linux都是基于RHEL的发行版,在从模板configuration时有没有人遇到过一些陷阱? 克隆时如何考虑?
顺便说一句:不pipe初始configuration方法如何,它将主要用作引导Puppet的其余configuration。
根据环境和供应过程,build立比使用VMware模板和模板function克隆 可能更快。
我曾经在一个以Linux为中心的大型VMware环境中工作,在这个环境中,部署过程不像应该那样自动化。 我们依赖于RHEL系统的vSphere模板,但在初始克隆之后需要进行相当多的手动工作。
模板优点:
sys-unconfig命令在模板之前“取消configuration”系统。 这是Linux的等同于微软的Sysprep并删除networking接口规则,SSH密钥,networking设置等。 PXE / kickstart部署优点:
最后,这取决于您的应用程序,以及在安装初始操作系统后需要多less额外的工作。 我已经采取了一种混合方法,通过用于常规系统的供应系统为最复杂的实例和新的构build使用克隆。 它们不是相互排斥的。
细节取决于发行版,但是在构build模板时,我会给你几个CentOS / RHEL的东西。
/etc/ssh/ /etc/udev/rules.d/70-persistent-net.rules中涉及您的NIC的SUBSYSTEM行 这两个将在您第一次启动时重新生成。
部署模板之后,需要一些运行更新的方法。
使用vSphere,您可以定义networking和主机名。 作为一个Puppet用户,我可以在我的模板中安装Puppet客户端以及一个标准的puppet.conf 。 如果我使用多个环境,那么实际上我需要为每个环境使用不同的模板。
当您修改模板时,您必须记得删除上面的文件。
就个人而言,虽然从模板部署的速度稍微快一些,但我更愿意从PXE中进行configuration,因为它更灵活。
看看准备Linux模板虚拟机和它的引用, 创build一个木偶准备图像(CentOS / Fedora的) 。 也许这有帮助。
顺便说一句:我真的很喜欢你的想法,部署JeOS虚拟机,然后使用木偶定制到数据库,networking或任何服务器。
另一个kickstarting linux虚拟机的加点是主机会在安装时自动完成补丁(虚拟机从本地仓库获取最新的软件包)。
如果你保持你的模板是最新的,那么你显然可以达到同样的效果,但这并不是我在我所处理的环境中看到的。
我们的kickstart文件的%post部分(是的,我们有几个取决于我们安装的系统,例如32或64位)只安装cfengine代理,并从那里主机由cfenginepipe理。
我还没有计时,但是一旦基础设施到位,我怀疑克隆速度会更快。 另外如果是的话,你也可以安装真实的主机;-)
对于基于debian的系统,我们使用了FAI ,这也非常棒。