使用Puppet管理具有多个环境的多个项目

时间:2017-01-04 14:32:50

标签: puppet puppet-enterprise

我在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/

任何帮助将不胜感激。

0 个答案:

没有答案