2014-02-26 115 views
0

我安裝一個模塊從:使用傀儡第三方模塊

Puppet Redis Module

現在我的目錄結構如下:

enter image description here

g_redis.pp內容:

class g_redis{ 
    include redis 

    class {'redis' : 
     version => '2.6.14', 
     redis_port => '7000' ----->A 
    } 

    redis::instance{ 'redis-7000' 
     redis_port => '7000', ----->B 
    } 
}  

site.pp的內容是:

import 'classes/*.pp' 

node default{} 

node 'nodename'{ 
    include g_redis 
} 

現在我有這樣的問題:

  1. 是什麼在(A)(B)
  2. 錯誤來了,而差運行清單: enter image description here

回答

1
  • 對於你的第一個問題,class{'redis':}將啓動一個默認實例,所以我認爲你不需要實例化一個redis:實例,除非你想在你的盒子中運行兩個不同的實例。

  • 關於第二個問題

include redis 

class {'redis' : 
    version => '2.6.14', 
    redis_port => '7000' ----->A 
} 

這裏你實例兩次Redis的類。

include redis 

幾乎等同於

class {'redis' : 
    } 

所以第二級[「redis的」]給你這個錯誤

你應該使用基本Redis的設置或定製的一個選擇。如果你想同時運行兩個不同版本的redis,你將不得不在配方上努力工作。

  • 如果你想的Redis 2.6.14監聽端口7000' ,你想要的是簡單的:

node 'nodename'{ 
    class{'redis': 
     version => '2.6.14', 
     redis_port => '7000' 
    } 
} 
+0

那麼如何使用這個,我不理解的是, 好吧,我現在安裝了redis模塊, 現在該如何與我的課程一起使用? :D –

+1

不,您已經安裝了redis puppet模塊。通過執行'class {'redis':}你的* nodename *服務器將安裝'redis'包,然後用標準設置啓動'redis'服務,這樣你的應用就可以使用它來存儲和檢索東西。 –

+0

這是清單,即將放置在master中,並且我將準備節點(代理程序)的定義,以便redis將從那裏啓動(在代理程序中),因此我想在此redis模塊上編寫清單在master中,爲此我寫了這個,是否犯了錯誤 –