Puppet 配置出错时,可以按「从本地到服务端、从语法到逻辑」的思路逐步排查。下面是一套比较系统的排查方法:
puppet agent -t
或开启调试:
puppet agent -t --debug --verbose
重点看:
表现:
Syntax errorCould not parseUnknown variable排查:
puppet parser validate init.pp
或对整个环境:
puppet apply --parseonly site.pp
常见原因:
{ }、:= 和 => 混用表现:
Could not evaluateundefined method.erb 报错排查:
erb -x -T '-' template.erb | ruby -c
检查:
表现:
Duplicate declarationAlready defined原因:
include 和 require 混用解决:
resource 或 contain表现:
Could not find dependency排查:
require => File['/etc/xxx']
确认:
if 里被跳过tail -f /var/log/puppetlabs/puppetserver/puppetserver.log
常见:
puppet config print environmentpath
ls /etc/puppetlabs/code/environments/
确认:
puppet lookup xxx --explain
hiera.yaml 层级写错puppet module list
检查:
modulepathpuppet agent -t --debug 看具体错误puppet parser validate.erb 模板.pp 或 .erb 片段我可以帮你精准定位问题。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。