首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >木偶中特定环境的配置

木偶中特定环境的配置
EN

Server Fault用户
提问于 2017-05-15 12:56:32
回答 1查看 739关注 0票数 0

我有一个自定义的傀儡模块来设置Apache服务器,并且我使用模板复制配置。我们有不同的环境,如生产,质量保证,集成测试。

每个环境都有一个或多个服务器。模板使用基于这些环境的变量,这将确保在所有环境中使用相同的模板文件,而不是使用不同的环境指定文件。

到目前为止,我已经知道我们可以在heira中使用{environment}.yaml类型文件,我不喜欢这种类型的文件,因为我不想为production.yaml和qa.yaml这样的环境维护两组文件

实现这种情况的最佳实践是什么?

  1. 我的观点是,我们在/etc/etc/清单/site.pp中分配主机环境。
  2. 我们应该在哪里维护特定于环境的变量(比如domain=mysite.qa.example.com)。这是封装在基于来自site.pp的节点环境的模块内的事实中,还是作为/etc/facter/facts.d/中的节点特定配置维护在每个节点上?

是否有上述情况的工作示例。

EN

回答 1

Server Fault用户

发布于 2017-05-17 15:05:48

管理特定于环境的数据的正确方法是使用Hiera -Hiera的目的是分离配置数据(例如域、IP地址)和逻辑木偶代码。如果您有类似的环境,则需要重复配置。

您可以使用静态事实来确定环境,并在Hiera结构中使用%{::environment} (用于Puppet3)或%{facts.environment} (用于Puppet4)访问此环境。

您的模块应该使用参数化来允许Hiera将值传递给类。

要存储静态事实,请在/etc/facter/facts.d中创建一个文件(必要时创建目录),其中包含内容environment=production,例如:

代码语言:javascript
运行
复制
odin ~ # echo 'environment=production' >> /etc/facter/facts.d/env.txt
odin ~ # facter -p environment
production
票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/850181

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档