BarbicanAutomation
Chef Cookbook 组织结构
为了 Chef 开发,我们使用 Berkshelf 来管理我们的 cookbook。由于我们使用 Berkshelf,我们的 cookbook 位于独立的单独仓库中,地址是:cloudkeep-ops。
有四个主要的 cookbook 用于部署 Barbican 应用程序
- Chef Barbican - 包含部署 Barbican Worker 和 API 节点的 recipe
- Barbican Postgres - 用于在 Barbican 集群中配置 Postgresql 的 wrapper cookbook
- Barbican RabbitMQ - 用于在 Barbican 集群中配置 RabbitMQ 的 wrapper cookbook
这些 cookbook 被设计成可以与或不与 Chef 服务器一起部署。
有关部署单个 cookbook 的说明,可以在各自的 Read Me 文档中找到。
搜索发现 (Search Discovery)
每个 cookbook 都实现了 Chef 服务器搜索的搜索发现模式。
搜索发现模式可以详细描述为
- 使用搜索发现是可选的
- 允许用户通过节点属性覆盖使用的搜索查询
- 允许用户指定包含发现节点 IPv4 地址的节点属性
- Chef 搜索包含在名为 search_discovery.rb 的单个 recipe 中
- 搜索发现 recipe 的结果存储在节点属性中