Cloud-init 和 OVA

Cloud-init 和 OVA

我来这里搜索并找到了适合我工作的出色解决方案。谢谢!现在我在这里提出我的第一个问题:

我有一个 OVA 文件(带有 OVF 和 VMDK 文件的 tar -https://en.wikipedia.org/wiki/Open_Virtualization_Format) 包含一个 Ubuntu VM,我将使用 vSphere 客户端将其部署到 ESXi 上。我还有一个 shell 脚本,希望在 VM 首次启动时执行。

使用 cloud-init 执行此操作的正确方法是什么?cloud-init 是否会在某个特殊位置寻找此类脚本?

谢谢,问候!Dinko

答案1

对于 VMWare 的 vSphere,用户数据通过 cdrom 以 ISO 形式注入 VM。这可以通过将 ISO 映像连接到 CD/DVD 驱动器,使用 vSphere 仪表板来完成。

要将此示例脚本传递给在 vSphere VM 中运行的 cloud-init,请在创建 vSphere VM 时将 CD/DVD 驱动器设置为指向数据存储上的 ISO。

注意:ISO 必须包含用户数据。

例如,将相同的 simple_script.bash 传递给 vSphere:

创建 ISO

% mkdir my-iso

注意:ISO 上的文件名必须是:user-data.txt

 % cp simple_scirpt.bash my-iso/user-data.txt
    % genisoimage -o user-data.iso -r my-iso

验证 ISO

% sudo mkdir /media/vsphere_iso
% sudo mount -o loop JoeV_CI_02.iso /media/vsphere_iso
% cat /media/vsphere_iso/user-data.txt
% sudo umount /media/vsphere_iso

然后,启动以 CDROM 形式附加的 vSphere VM ISO user-data.iso。

还可以启动 vSphere VM 并使用 Delta Cloud 将可选的用户数据传递给它。

有关 Delta Cloud 的更多信息,请参阅:http://deltacloud.apache.org

相关内容