本节书摘来自华章计算机《DevOps实战:VMware管理员运维方法、工具及最佳实践》一书中的第3章,第3.3节,作者:小特雷弗 A. 罗伯茨(Trevor A. Roberts Jr.)乔希·阿特韦尔(Josh Atwell)埃格勒·西格勒(Egle Sigler)著,更多章节内容可以访问云栖社区“华章计算机”公众号查看
3.3 用Packer创建映像
Packer是HashiCorp的另一种帮助你为多平台开发自定义盒子的产品。假定你想要从同一个基本盒子出发,开发用于Workstation/Fusion和ESXi的VM映像,Packer就可以实现。
Packer使用JavaScript对象标记法(JSON)文件格式指定Vagrant盒子的配置(磁盘大小、内存等),一旦指定了相关的自动化参数(例如,Ubuntu preseed文件),它将帮助你进行初始OS部署。
Packer不仅对创建Vagrant盒子有用;它的主要用途是制作与流行云提供商格式(OpenStack、AWS等)兼容的映像文件。但是,Packer包含构造器功能,可以自动输出与VMware Fusion/Workstation和VirtualBox兼容的Vagrant盒子,可以使用Puppet和Chef等流行配置管理技术,自定义生成的映像。我们不深入讨论Packer,但是如果想要自己试验自定义Vagrant盒子的构建,我们希望你了解它。如果想要查看可用于开发你自己的VM的Packer定义文件,Chef团队在自己的Github账户上维护着一个名为bento的存储库。