2016-05-17 67 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

相關問題