不可变基础设施中的配置变化

不可变基础设施中的配置变化

使用不可变基础设施的人如何处理不同环境之间的配置变化?我无法想出一个好的方法为每个角色创建一个 AMI 并在所有环境中使用它。

我的意思是如何构建一个可以部署到开发、准备和生产的单个 ami,但它指向该环境的正确 ELB 等。目前我能想到的唯一选择是:

  • 为每个角色(生产 Web 服务器、生产应用服务器、暂存 Web 服务器等)的每个环境构建一个 AMI。这似乎违背了 II 将相同映像推送到所有环境的目的。
  • 构建一个几乎完整的 AMI,并在启动后但将其添加到 ELB 之前进行最终配置。这似乎很接近,但我觉得缺少了一些东西。

在创建 AMI 时或进行其他操作时,我能否将一组参数传递给 AMI?其他人如何使用不可变基础设施?

谢谢。

答案1

盒式保险丝我们生活和呼吸着不可变的基础设施。我们建议结合以下两种方法:

  1. 直接在 AMI 中为所有环境烘焙尽可能多的配置(并在运行时自动选择正确的设置)
  2. 以实例形式传入其余设置用户数据shell 脚本(cloud-init),导出环境变量,其中包含该机器/环境所需的值

相关内容