2016-05-17 63 views
3

我正在努力让我的头绕过木偶,并使情况更糟糕,我正在使用红帽Satellite 6,这增加了额外的复杂层次。具有相似角色的服务器是否应具有一个具有不同配置文件的角色,或者每个服务器具有不同的角色?

我目前正在构建一个grpahite制图解决方案。有三种类型的服务器(中继 - 接收数据,缓存 - 存储数据,图形 - 运行Grafana并与缓存进行交谈)。

我有两个不同的同事告诉我做两种不同的方式。我第一个可用的方法是创建一个'role_graphing',然后有'role_graphing :: relay'等子角色。我的第二种可用方法是每个服务器只有一个角色。

目前我已经与第一种方法,我的init.pp样子:

class role_graphing { 
    include profile::graphing_base 
} 

class role_graphing::relay inherits role_graphing { 
    include profile::carbon_c_relay 
} 

class role_graphing::cache inherits role_graphing { 
    include profile::carbon_cache 
    include profile::carbon_c_relay 
    include profile::graphite_web 
    include profile::memcached  
} 

class role_graphing::graph inherits role_graphing { 
    include profile::graph 
} 

然后在我的清单文件夹中,我有一个profile_relay.pp,profile_cache.pp等。每个配置文件只需从Yum或Forge安装所需的软件包,然后配置它们。

我在谈论'正确'吗?

回答

3

我不会直接建议你,而是描述Puppetlabs对这些术语的意图,后面跟着一个例子,所以你一般会看到它。

模块是清单,函数,文件,模板等的集合。 配置文件是一个或多个模块的集合。 角色是一个或多个配置文件的集合。 服务器是一个或多个角色的集合。

实施例:

的localhost.localdomain包含角色application_server

作用application_server包含轮廓灯和web_apps

轮廓灯包含了Apache,MySQL和PHP模块

轮廓web_apps包含app_one和app_two模块

apache模块包含https://forge.puppet.com/puppetlabs/apache

+0

只是澄清一个服务器应该属于一个角色,如果服务器需要两个角色,最好创建一个具有两个配置文件的新角色。 – Walid

+0

@Walid这是一个建议,而不是一个规则。查询木偶从业者课程以获取更多信息。 –

+0

了解。我从加里和PE顾问那里得到了它。 http://garylarizza.com/blog/2014/02/17/puppet-workflow-part-2/,正如我所理解的ENC,比如领班,坚持一个角色/服务器的建议是有道理的,因为这就是这些GUI /工具允许你。此外,如果想要派生企业服务目录和服务依赖关系映射,它可以很容易地完成和映射。角色表示服务目录中的服务,配置文件表示较高的依赖关系抽象。 – Walid

相关问题