我在CentOS Linux 7(Core)上设置了Puppet Enterprise服务器。
# /opt/puppetlabs/bin/puppetserver --version
puppetserver version: 2016.5.0.11
我有不同的客户特定项目,它们都有多个环境(QA,Staging,Prod)。我将使用我的Puppet服务器来管理所有这些项目。我知道Puppet提供了隔离代码的环境,但我不确定如何实现我想到的那种设计。这就是我想要的:
puppet_root/
- code/
- environments
- prod/
- project_A
- environment.conf
- hieradata/
- manifests/
- modules/
- project_B
- environment.conf
- hieradata/
- manifests/
- modules/
- staging
- project_A
- environment.conf
- hieradata/
- manifests/
- modules/
- project_B
- environment.conf
- hieradata/
- manifests/
- modules/
- dev
...
...
- modules
- custom_scripts/
如果有一个客户,我知道它可以没有任何问题但是在子目录中有多个客户端(如上所示),我不知道Puppet将如何知道哪条路径横动。
更新:
我想出了新模型:
puppet_root/
- client_A/
- code/
- modules/
- environments/
- prod/
- environment.conf
- manifests/
- hieradata/
- common.yaml
...
...
- uat/
...
...
- client_B/
- code/
- modules/
- environments/
- prod/
- environment.conf
- manifests/
- hieradata/
- common.yaml
...
...
- uat/
...
...
- custom_scripts/
任何帮助将不胜感激。