本地模式下的 AWS 和 Chef:在新实例上使用已保存 AMI 实例中的节点缓存



我正在通过EC2 UserData在 AWS Ubuntu 上运行local mode年的 Ubuntu 上的 chef 13+。 我有一个common角色,为组织安装/配置许多常见的东西。

本地模式下的 Chef 将在存储库签出中创建nodes目录。 然后,它会创建一个用于缓存的private-IP.json文件。

一切都很好,我映像到 AMI 并向其添加用于自动缩放的启动配置。

但是,在自动缩放中,我必须删除该private-IP.json文件,因为我获得了一个新的专用 IP。 从而有效地删除所有缓存和在映像之前完成的工作。

我想到的一种方法是重命名文件并使用一些sed魔法来替换 IP 和主机名,但我认为还有更好的基于 Chef 的方法?

通常通过初始 JSON-j或直接通过-r设置运行列表,用于chef-solo和本地模式。

最新更新