Вкратце, изменения на сайте.pp отражаются только на агентах после перезапуска мастера кукол.Кукольный агент Puppet 4.2 получает изменения только после перезапуска мастера
Предполагается, что это установка OOTB на отдельных главных и узловых виртуальных машинах с минимальными изменениями в конфигурации - в основном dns_alt_names и/etc/hosts + сертификаты). Между хозяином и узлом не возникает проблем.
На мой мастер меня есть файл, /etc/puppetlabs/code/environments/production/manifests/site.pp содержащий:
node "slave1.home" {
user { "kevin":
ensure => present,
membership => minimum,
shell => "/bin/bash",
}
}
После запуска кукольный агента -t на узле агента (и улов происходит только после перезапуска мастера) это изменение затронуто. Я вижу, что файл был передан от мастера к моему узлу агента в местоположении, /opt/puppetlabs/puppet/cache/client_data/catalog/slave1.home.json , который содержит сведения о пользователе «kevin» и пользователь будет успешно создан.
Если изменить site.pp на кукловода (например, таким образом, пользователь теперь «kevino22y», к примеру. Я тогда (возможно, ошибочно) попытаться скомпилировать для узла slave1.home
например
кукловодом --compile slave1.home
на терминале я вижу
Notice: Compiled catalog for slave1.home in environment production in 0.28 seconds
{
"tags": ["settings","slave1.home","node"],
"name": "slave1.home",
"version": 1436006611,
"environment": "production",
"resources": [
{
"type": "Stage",
"title": "main",
"tags": ["stage"],
"exported": false,
"parameters": {
"name": "main"
}
},
{
"type": "Class",
"title": "Settings",
"tags": ["class","settings"],
"exported": false
},
{
"type": "Class",
"title": "main",
"tags": ["class"],
"exported": false,
"parameters": {Notice: Compiled catalog for slave1.home in environment production in 0.28 seconds
{
"tags": ["settings","slave1.home","node"],
"name": "slave1.home",
"version": 1436006611,
"environment": "production",
"resources": [
{
"type": "Stage",
"title": "main",
"tags": ["stage"],
"exported": false,
"parameters": {
"name": "main"
}
},
{
"type": "Class",
"title": "Settings",
"tags": ["class","settings"],
"exported": false
},
{
"type": "Class",
"title": "main",
"tags": ["class"],
"exported": false,
"parameters": {
"name": "main"
}
},
{
"type": "Node",
"title": "slave1.home",
"tags": ["node","slave1.home","class"],
"exported": false
},
{
"type": "User",
"title": "kevino22y",
"tags": ["user","kevino22y","node","slave1.home","class"],
"file": "/etc/puppetlabs/code/environments/production/manifests/site.pp",
"line": 2,
"exported": false,
"parameters": {
"ensure": "present",
"membership": "minimum",
"shell": "/bin/bash"
}
}
],
"edges": [
{
"source": "Stage[main]",
"target": "Class[Settings]"
},
{
"source": "Stage[main]",
"target": "Class[main]"
},
{
"source": "Class[main]",
"target": "Node[slave1.home]"
},
{
"source": "Node[slave1.home]",
"target": "User[kevino22y]"
}
],
"classes": [
"settings",
"slave1.home"
]
}
Если я после этого вернуться к моей slave1.home и бежать, кукольного агента -t
Я вижу новую копию оригинального /opt/puppetlabs/puppet/cache/client_data/catalog/slave1.home.json с оригинальным пользователем «» Кевина так изменяется, что я ожидал появляются после компиляции, нет.
Так что кажется, что процесс получения агента хорош, но извлекает устаревшую информацию. Это только освежает, если я остановлюсь и запустил мастер-кукольный мастер, а не после компиляции.
Так что, кажется, мне не хватает выполнения шага, который выполняется перезапуском марионеточного мастер-процесса.
Возможно, это ударит меня, когда кто-то скажет мне, что я пропустил. Спасибо за помощь с вопросом новичка.
Кевин
--- редактировать ---
Тем не менее пытается диагностировать и добавлен новый сервер (агент называется cs1)
Если я: [корень @ cs1 Desktop] # кукольный agent -t Информация: Получение файлов плагинов Информация: Получение плагина Инфо: Каталог кэширования для cs1.home Информация: Применение конфигурации версии '1436032639' Примечание: Прикладной каталог в 0.02 секунд [корень @ cs1 Desktop] #
Затем на хозяине с помощью: кукловода --no-демоном --debug> /tmp/master.txt и хвостового В журнале
Debug: Routes Registered:
Debug: Route /^\/puppet\//
Debug: Route /^\/puppet-ca\//
Debug: Route /.*/
Debug: Evaluating match for Route /^\/puppet\//
Debug: Evaluating match for Route /v3/
Debug: Evaluating match for Route /^\/environments$/
Debug: Did not match path ("/node/cs1.home")
Debug: Evaluating match for Route /.*/
Info: Caching node for cs1.home
Debug: Puppet::Network::Format[msgpack]: feature msgpack is missing
Debug: node supports formats: pson yaml binary
Debug: Routes Registered:
Debug: Route /^\/puppet\//
Debug: Route /^\/puppet-ca\//
Debug: Route /.*/
Debug: Evaluating match for Route /^\/puppet\//
Debug: Evaluating match for Route /v3/
Debug: Evaluating match for Route /^\/environments$/
Debug: Did not match path ("/file_metadatas/pluginfacts")
Debug: Evaluating match for Route /.*/
Debug: Warning: calling Plugins.search with empty module path.
Debug: Puppet::Network::Format[msgpack]: feature msgpack is missing
Debug: file_metadata supports formats: pson yaml binary
Debug: Routes Registered:
Debug: Route /^\/puppet\//
Debug: Route /^\/puppet-ca\//
Debug: Route /.*/
Debug: Evaluating match for Route /^\/puppet\//
Debug: Evaluating match for Route /v3/
Debug: Evaluating match for Route /^\/environments$/
Debug: Did not match path ("/file_metadatas/plugins")
Debug: Evaluating match for Route /.*/
Debug: Warning: calling Plugins.search with empty module path.
Debug: Puppet::Network::Format[msgpack]: feature msgpack is missing
Debug: file_metadata supports formats: pson yaml binary
Debug: Routes Registered:
Debug: Route /^\/puppet\//
Debug: Route /^\/puppet-ca\//
Debug: Route /.*/
Debug: Evaluating match for Route /^\/puppet\//
Debug: Evaluating match for Route /v3/
Debug: Evaluating match for Route /^\/environments$/
Debug: Did not match path ("/catalog/cs1.home")
Debug: Evaluating match for Route /.*/
Info: Caching node for cs1.home
Notice: Compiled catalog for cs1.home in environment production in 0.00 seconds
Debug: Puppet::Network::Format[msgpack]: feature msgpack is missing
Debug: catalog supports formats: pson yaml dot binary
Debug: Routes Registered:
Debug: Route /^\/puppet\//
Debug: Route /^\/puppet-ca\//
Debug: Route /.*/
Debug: Evaluating match for Route /^\/puppet\//
Debug: Evaluating match for Route /v3/
Debug: Evaluating match for Route /^\/environments$/
Debug: Did not match path ("/report/cs1.home")
Debug: Evaluating match for Route /.*/
Debug: Received report to process from cs1.home
Debug: Processing report from cs1.home with processor Puppet::Reports::Store
I «Не совсем уверен, откуда приходит« .home ». Я читал в Интернете, что он может быть загружен домашним маршрутизатором (?), Но мои fqdn имеют формат cs1.localdomain, но/etc/hosts содержат xxx.xxx.xxx.xxx cs1.localdomain cs1 cs1.home
- Edit 2 -
FYI, когда работает кукольный агент -t я получаю 5 файлов, доставленных от сервера, которые не отражают скомпилированные изменения.
[root @ cs1 Desktop] # find/opt/puppetlabs/-type f -mmin -3 -exec ls -al {} \; -rw-rw ---- 1 корень root 1290 июл 6 14:56 /opt/puppetlabs/puppet/cache/client_data/catalog/cs1.home.json -rw-r ----- 1 корень root 7628 Jul 6 14:56 /opt/puppetlabs/puppet/cache/state/last_run_report.yaml -rw-r ----- 1 корень root 29 июл 6 14:56/opt/puppetlabs/puppet/cache/state/resources .txt -rw-r - r-- 1 корень root 407 июл 6 14:56 /opt/puppetlabs/puppet/cache/state/last_run_summary.yaml -rw-rw ---- 1 корень root 3655 июл 6 14:56 /opt/puppetlabs/puppet/cache/state/state.yaml -rw-r ----- 1 корень root 18 июл 6 14:56 /opt/puppetlabs/puppet/cache/state/classes.txt
Как долго вы ждете после редактирования манифеста? –
Я мог оставить его на ночь. Я установил частоту 5 м, так как я только тестирую – KevinY
Я мог бы оставить ее на ночь. Я установил частоту 5 м, так как я только тестирую. Я просто изменил его на 30 (за 30 секунд, чтобы увидеть, не изменилось ли это), но никакого эффекта. Компиляция записывается в stdout, но также должна быть перенаправлена на файл, чтобы он обрабатывался при перезапуске мастера. – KevinY