我使用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代码中插入它。
请帮助。
谢谢。
答案 0 :(得分:1)
"format": "ova"
并删除vagrant
后处理器,除非您也需要一个无聊的盒子。 *)参见virtualbox-iso: format *)如果您确实需要与流浪汉并行运行 shell-local 后置资源调配器,它将vov转换为ova而不是设置格式,因为很可能是流浪汉框必须包含一个ovf。