云配置脚本如何将文件复制到服务器?

Der*_*har 4 cloud-init cloud-config

云配置脚本如何将文件复制到服务器? write_files需要脚本中的文件内容。如何指定包含内容的外部文件?

Cra*_*son 6

您没有提供足够的上下文来确定,但出于本答案的目的,我假设您在 Amazon Web Services 中运行。


根据此处的 cloud-init 文档,直接通过 cloud-init 创建文件的唯一方法是将文件内容包含在脚本中,原始、base64 编码、gzipped 或 base-64+gzipped。

除此之外,最直接的方法是下载文件 - 通过 HTTP 或 API 调用(例如,到 S3)。

将文件放到服务器上的另一种方法是使用Packer 之类的东西创建包含该文件的自定义操作系统映像 (AMI) 。

  • 令我震惊的是,cloud-config 脚本仅用于引导服务器,而不是完全配置它。像 Ansible 这样的配置工具似乎更适合更复杂的配置。 (2认同)