Ответ 1
Вы еще не объявили модуль (назначили его вашему node) еще...
Добавьте это на сайт .pp:
node 'fqdn of client' {
include yum
}
Затем вы можете запустить puppet agent -t
, чтобы увидеть его в действии.
только начиная с Puppet, действительно нового в этом мире.
У меня
В Master есть один модуль:
puppet module list
/etc/puppet/modules
âââ mstanislav-yum (v1.0.0)
Итак, я хочу применить тот же модуль к моему кукольному клиенту, но я не могу или не знаю, почему
[email protected]: puppet agent --test
Info: Retrieving plugin
Info: Caching catalog for puppetclient
Info: Applying configuration version '1355737643'
Finished catalog run in 0.10 seconds
но клиенту нет никаких изменений: -/
Любая идея?
Вы еще не объявили модуль (назначили его вашему node) еще...
Добавьте это на сайт .pp:
node 'fqdn of client' {
include yum
}
Затем вы можете запустить puppet agent -t
, чтобы увидеть его в действии.
вы можете использовать следующую команду для просмотра вывода сведений
марионеточный агент --test --trace
Попытайтесь использовать файлы Hiera и yaml, я думаю, что он намного более гибкий и более организованный.
Отредактируйте файл site.pp:
node "default" {
hiera_include('classes')
}
После этого вы можете вызвать классы в каждом конкретном файле node.yaml с простым:
classes:
-class1
-class2
Я использую его на Ubuntu, отлично работает.
Вы можете попробовать режим --noop (режим сухого хода).
puppet agent --server=YOUR_PUPPET_SERVER_NAME --onetime --no-daemonize --verbose --noop
Это покажет изменения, которые он должен был сделать, но физически ничего не изменит. Удаление --noop сделает все эти изменения.
Проверьте документ для объяснения других параметров в приведенной выше команде. http://docs.puppetlabs.com/man/agent.html
Два основных способа применения модуля к node - добавить одно из следующих значений в site.pp
node 'node <certname> (normally the fqdn)' {
require <module name>
}
или
node 'node <certname>' {
include <module name>
}
Затем запустите в node puppet agent --test
require
похож на include, но создает отношения зависимостей и позволяет объявлять одни и те же классы более одного раза, что хорошо, если вы хотите совпадающие классы ролей.
node default { # include module_name include apache }
Затем запустите на вашем марионеточном агенте следующее.
sudo puppet agent --test
Если вы добавили объявление node в другое место, которое не является site.pp(это рекомендуемый способ сделать это), не забудьте добавить "import" config к site.pp, который ссылался бы на node.
Вот как выглядит мой конфиг. Основной манифест DIR с узлами DIR и файл site.pp:
drwxr-xr-x. 3 root root 4096 May 19 07:23 nodes
-rw-r--r--. 1 root root 62 Jun 4 16:31 site.pp
Это объявление node в моих узлах DIR:
node 'fqdn of client' {
include yum
}
Наконец, site.pp в главном манифесте DIR импортирует node следующим образом:
import 'nodes/*.pp'
node default { }
Вы должны создать определение узла, которое содержит "include" класса, который вы хотите применить.
Запуск
puppet apply -e "include mstanislav-yum"
если вы хотите запустить модуль самостоятельно, хотя более обычно включать определение узла в манифест site.pp.
Живой пример из моего производства:
node 'client.io' {
class { '::selinux':
mode => 'disabled',
type => 'targeted',
}
class { 'zabbix::agent':
server => '192.168.245.11',
serveractive => '192.168.245.11',
}
include firewall
include mysql::server
}