gpt4 book ai didi

amazon-web-services - 在构建期间将 ebs 卷与打包程序连接

转载 作者:行者123 更新时间:2023-12-04 08:10:36 26 4
gpt4 key购买 nike

我不确定这是否是正确的方法,但我想要做的是缩短打包程序的图像构建时间。所需的步骤之一是复制大约 10GB 的数据并将其作为图像的一部分。目前我正在使用 shell 配置器将其 sftp 传输到图像中。这需要很长时间。相反,我希望这些数据已经存在于可以在构建时附加的 EBS 卷中。由于它将作为块设备安装在亚马逊自己的网络中,因此传输速度将比 sftp 快得多。

我尝试在 packer 中寻找这样的方法,但没有太多。我将尝试看看是否可以使用 amazon-ebs 构建器中的 ami_block_device_mappings 可选参数来附加 ebs 卷。

如果有我不知道的更好的方法,请告诉我。谢谢。

最佳答案

所以看起来shell配置器是要走的路......现在。 shell 配置器似乎是这样的事情的全部:)。不过,在某些时候在 amazon-ebs 构建器中有一个参数会很好。例如“attach_ebs_volume”之类的东西。无论如何,这就是我如何做到的:

  • 将 AWS 信息(ebs_volume、instance_id 等)添加到模板的变量部分。我确实从 ENV 中提取了访问和 secret key ,所以它没有在模板中详细说明,但我现在只是在模板中定义了其余部分。
  • 在模板的配置块中使用“environment_vars”参数将变量传递给构建机器。
  • 将 {{.Vars}} 添加到“execute_command”参数,以便在脚本运行之前定义变量。
  • 安装 aws cli(正在传递的脚本的一部分。)
  • 通过 wget 从 meta_data 中获取构建机器的 instance_id 并分配给一个 env var。
  • 发出 aws cli 命令以附加卷并使用从模板传递的环境变量来填充命令选项以及来自 wget 命令的 instance_id。
  • 正常挂载(挂载前让它休眠几秒钟,挂载需要一点时间。否则看不到它,挂载将失败。)

  • 完毕。

    如果有人有更优雅的方式......请分享。

    谢谢。

    关于amazon-web-services - 在构建期间将 ebs 卷与打包程序连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25774739/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com