【发布时间】:2014-09-06 15:16:57
【问题描述】:
我想创建一个带有自定义厨师食谱的自定义层,但我不想包含安装 mysql 等的内置厨师食谱。可以这样做吗?
【问题讨论】:
我想创建一个带有自定义厨师食谱的自定义层,但我不想包含安装 mysql 等的内置厨师食谱。可以这样做吗?
【问题讨论】:
是的。
开启:Chef 11.10 堆栈。除非您在同一堆栈中使用 MySQL 层,否则它不会安装 .参考opsworks recipe
开启:旧堆栈: 您需要修改 mysql 配方并通过修改特定的客户端配方来更改此行为。这不是一个好主意,因为您可能会错过 AWS 团队可能会做出的 mysql 改进。
【讨论】:
无法阻止 AWS 内置配方运行。 OpsWorks 在单独的 Chef 运行中运行这些配方。只有在 Chef 运行结束后才会加载自定义食谱。
您可以创建一个自定义层,这将最小化包含的内置配方。通过不将任何 RDS 或其他数据库资源与堆栈相关联,防止 OpsWorks 使用其内置的 mysql 配方。
您可以做的最好的事情是使用自定义层和我创建的名为 tabula-rasa 的食谱。此食谱允许您在隔离环境中运行任何食谱,防止内置 OpsWorks 食谱与同名的社区食谱发生冲突。 https://github.com/shlomoswidler/tabula_rasa 这不会阻止 OpsWorks 内置配方运行,但它是我们今天在 OpsWorks 中可以获得的最接近的配方。
【讨论】: