2014-02-26 114 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中,为此我写了这个,是否犯了错误 –