2014-02-26 7 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. Какая разница в (А) и (В)
  2. ошибка приходит время работает манифест: enter image description here

ответ

1
  • Для вашего первого вопроса class{'redis':} запустит экземпляр по умолчанию, поэтому я думаю, что вам не нужно создавать экземпляр redis: instance, если вы не хотите, чтобы в вашем ящике было два разных экземпляра.

  • Для вашего второго вопроса

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

Тогда, как использовать это, я не понимая, что, OK Я установил модуль redis, теперь как использовать это с моим классом? : D –

+1

Нет. У вас УЖЕ установлен красный кукольный модуль. Выполняя 'class {'redis':}' ваш * nodename * сервер установит пакет 'redis', а затем запустит службу redis со стандартными настройками, поэтому ваши приложения смогут использовать его для хранения и извлечения вещей. –

+0

Это манифесты, которые будут помещены в мастера, и я собираюсь подготовить определения для узлов (агентов), так что redis начнется там (в агенте), поэтому я хочу написать свои манифесты вокруг этого модуля redis в мастер, для этого я написал это, сделал ли я ошибку –