有现代等效的python-vm-builder吗?


11

我正在尝试找到最佳实践的现代方式来完成我以前使用python-vm-builder(aka ubuntu-vm-builder)做的事情。

我想要一种脚本化的,可重复的方式,从ubuntu-core(又称艺术家,以前称为JeOS)之类开始,添加一些程序包,定义首次运行的脚本等。

我所追求的是类似于自定义ISO的东西(尽管它不会是ISO,但它将是一个“已安装”的系统)。结果必须是内核,initrd映像和rootfs,它们适合于使用NFS进行无盘PXE引导。

哪些工具用于创建Ubuntu网络引导映像(或与此相关的任何Ubuntu映像)?它们是否足够满足我的需求?

用于创建用于Ubuntu集成测试的全新安装环境的工具怎么样?他们合适吗?

请注意,在运行时,rootfs将以只读方式挂载,因此我不打算随时间管理实例。我希望在每个新的Ubuntu版本中重新启动自动安装,并在6个月之间定期重新安装。


2
我没有答案,因为我不确定目前的最佳做法,但这听起来像厨师或木偶,甚至可能是流浪汉的任务。
Marco Ceppi

1
为什么vmbuilder不再适合您的需求?它用于debootstrap创建基础系统(然后可以将其复制到磁盘映像的“ chroot”)。看看是否有帮助。
塞勒姆2013年

我认为vmbuilder可以工作,但这是针对长期系统的,所以我不想在已经死水的位上构建。
jderose13年

Answers:


7

您可以直接使用官方的云映像,然后使用cloud-localds(从cloud-utils软件包中)创建一个小的ISO映像,以用作“ nocloud”数据源进行云初始化。

然后,您可以使用cloud-init用户数据(示例)作为单一机制来添加软件包,并在提供官方Ubuntu Cloud映像的云提供程序以及本地VM上运行自己的首次运行脚本。

如果不cloud-localds带参数运行,它将显示示例用法来直接使用kvm配置和运行VM。

要以其他方式运行VM,只需提供一个云映像(例如,从https://cloud-images.ubuntu.com/precise/current/precise-server-cloudimg-amd64-disk1.img for 12.04 下载)作为第一张磁盘,并cloud-localds以CD-ROM形式显示ISO映像输出。

有关更多信息,请参见Scott Moser的博客文章


1
不过,我不确定如果要使用台式机系统,该方法的适用性如何。
罗比·巴萨克

谢谢!这看起来像我要找的东西。而且此环境不适用于台式机系统BTW。我正在构建类似于MAAS临时环境的东西。它需要比仅说Ubuntu内核更全面,但是我希望它比最小的Ubuntu服务器安装要小得多。
jderose13年

2

我从未打包过ISO,因此无法根据自己的经验发表评论,但是看来您的问题的答案是Cobbler(http://cobbler.github.com)。

来自Ubuntu社区文档:
“ Ubuntu使用cobbler作为Ubuntu计算机的首选配置服务器。” -  https://help.ubuntu.com/community/Cobbler


1
help.ubuntu.com/community/Cobbler已过期。我只是要求对其进行更新。抱歉,之前没有填写。
罗比·巴萨克

1
谢谢!尽管我可以用Cobbler来做我想做的事,但对于我想要的目标来说似乎有些过头了。我不需要配置服务(以及带来的复杂性),而只是一个非常简单的配置工具。我正在寻找比debootstrap更高级的东西,但仍然是一次性使用的命令行或API工具。
jderose13年

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.