所以我有7个应用程序,每个应用程序都有一个自动扩展组和prod和dev的启动配置,所以14个不同的启动配置都粘贴到它们中的相同用户数据,基本上:
#cloud-config
users:
- make a user
- make another user
timezone: US/Eastern
package_update: true
package_upgrade: true
package_reboot_if_required: true
packages:
- vim
现在说我想添加另一个软件包,epel-release,我需要复制14个启动配置中的每一个,粘贴修改后的用户数据,并将新LC与14个自动缩放组中的每一个相关联。< / p>
我必须遗漏一些东西,必须有一种更简单的方法来管理这个
答案 0 :(得分:1)
有一种更简单的方法来管理它。 从用户数据中取出云配置(例如将其存储为S3中的文件),然后通过 #include 指令在用户数据中引用它。
您需要更新启动配置一次,之后每次更新实例时,启动时都会启动它。
请参阅:
http://cloudinit.readthedocs.org/en/latest/topics/format.html#include-file
如果您需要更多灵活性,可以使用映像部署文件,并让cloud-init脚本通过init机制访问本地文件。
底线:关键是从用户数据中提取[大部分]配置,并在用户数据中只有一个指向配置的指针。
希望这有帮助。