Packer-1st:如何在计算机中创建文件。第二:将机器导出到ova文件

时间:2018-12-11 09:14:30

标签: virtualbox packer

我使用Packer创建模板文件,该文件通过API部署到我们的提供商。

该模板是使用kickstart anaconda-ks.cfg从CentOS 7.4最小ISO文件构建的。

在该kickstart文件中,我正在配置要在模板中安装哪些软件包,在kickstart文件的后配置部分中,我运行不同的bash命令对其进行配置。在此后配置中,我还运行一些cat > /path/file.sh <<EOF将一些文件放在磁盘上。

第一。

其中一个文件很大,尽管我尝试将其拆分为多个文件,但最后一个文件冻结了模板的创建。我在代码中看不到任何错误。在我看来,像最后一个cat >> /path/file.sh <<EOF一样只会冻结Packer的工作。

问题是,是否有类似Terraform中的方法在Packer目录结构中的某个位置使用模板文件,该模板文件将用作在模板中创建该/path/file.sh文件的源。 / p>

第二。

模板完成后,我需要将其导出到.ova文件中,因为我的提供者不接受任何其他文件类型。

就像在json文件中一样,我正在使用构建器类型virtualbox-iso和后处理器类型vagrant,我想知道如何做最后一部分-导出到ova。

我的第一个想法是使用ovftool,但是由于我是Packer的新手,所以我不知道如何在Packer代码中插入它。

请帮助。

谢谢。

1 个答案:

答案 0 :(得分:1)

  1. 使用file provisioner
  2. 在模板中设置"format": "ova"并删除vagrant后处理器,除非您也需要一个无聊的盒子。 *)参见virtualbox-iso: format

*)如果您确实需要与流浪汉并行运行 shell-local 后置资源调配器,它将vov转换为ova而不是设置格式,因为很可能是流浪汉框必须包含一个ovf。