Puppet常见报错排查

简介: Puppet常见报错排查

报错问题及解决方法:
1.报错信息:
Warning: Unable to fetch my node definition, but the agent run will continue: Warning: getaddrinfo

原因:PuppetMaster端和PuppetClient的证书不匹配

解决方法:

清除Master和客户端的SSl证书
Master:puppet cert --clean --all
Client:rm -rf /var/lib/puppet/ssl/
重启解决

2.报错信息:vsftpd: warning: can’t get client address: Bad file descriptor

原因:这是REDHAT9中VSFTP的一个BUG

解决方法:

/etc/vsftpd/vsftpd.conf中的tcp_wrappers=YES改为tcp_wrappers=NO

3.报错信息:
err: Could not request certificate: Retrieved certificate does not match private key; please remove certificate from server and regenerate it with the current key

原因:获取到的证书和key不匹配

解决办法:

a.在客户端删除ssl证书 rm -rf /var/lib/puppet/ssl/,
b.在puppetmaster端,执行 puppetca -c 客户端主机名
c. 客户端在重新生成证书请求: puppet –test –server puppetmaster主机名
d.在puppetmaster端,执行 puppetca -s 客户端主机名

4.报错信息:
puppet 认证错误:Could not request certificate: unknown message digest algorithm

原因:根据日志提示:是算法有问题,根据 https://serverfault.com/questions/660649/puppet-master-3-6-2-error-on-signing-puppet-client-2-7-25 网站提出的解决方案 需要修改 ruby代码

解决办法:

修改 /usr/lib/ruby/site_ruby/1.8/puppet/ssl/certificate_request.rb文件的 71行 把 MD5 修改成SHA256 解决
sed -i 's#MD5#SHA256#' /usr/lib/ruby/site_ruby/1.8/puppet/ssl/certificate_request.rb
运行 puppet 测试命令 puppetd --test --debug 在服务端进行查看 问题得以解决

5.报错信息:
1.启动puppet master服务,提示:Could not run:Could not create PID file:/var/lib/puppet/run/master.pid

2.执行命令 netstat -tunlp |grep "8140",结果为 tcp 0 0 0.0.0.0:8140

原因:上述两个问题是由于master.pid 已有pid占用导致

解决办法:

cat master.pid #查看pid,比如10805
kill -9 10805 #   删除该pid
ps -ef | grep 10805 #查看该id是否删除成功
puppet master #启动master
netstat -tunlp |grep "8140" #结果为 tcp        0      0 0.0.0.0:8140                0.0.0.0:*                   LISTEN       15815/ruby 说明master启动成功

6.报错信息:
第一次启动master端时,puppet服务会在本地创建认证中心,给自己授权证书和key,但通过 tail -f /var/log/messages 查看日志,发现证书未授权成功:Could not request certificate: getaddrinfo: Temporary failure in name

解决办法:

检查 /etc/hosts 和 /etc/puppet/puppet.conf 与 /etc/hostname 文件的 主机名与 IP 是否匹配

1.先安装依赖包yum-plugin-downloadonly
[root@node1 ~]# yum install yum-plugin-downloadonly

2.安装软件
方法一:
[root@node1 ~]# yum install --downloadonly nano
[root@node1 ~]# ll /var/cache/yum/x86_64/7/base/packages
-rw-r–r-- 1 root root 450136 Jul 4 2014 nano-2.3.1-10.el7.x86_64.rpm
不加–downloaddir参数,下载的依赖包会放在默认路径/var/cache/yum/x86_64/7/base/packages下。
方法二:
[root@node1 ~]# yum install --downloadonly --downloaddir=/root keepalived
[root@node1 ~]# ll
-rw-------. 1 root root 1259 Jul 7 18:43 anaconda-ks.cfg
-rw-r–r-- 1 root root 339344 Aug 23 2019 keepalived-1.3.5-16.el7.x86_64.rpm
-rw-r–r-- 1 root root 42784 Aug 23 2019 lm_sensors-libs-3.4.0-8.20160601gitf9185e5.el7.x86_64.rpm
-rw-r–r-- 1 root root 724340 Jun 24 01:36 net-snmp-agent-libs-5.7.2-48.el7_8.1.x86_64.rpm
-rw-r–r-- 1 root root 769104 Jun 24 01:36 net-snmp-libs-5.7.2-48.el7_8.1.x86_64.rpm
相关文章
|
安全 Linux 网络协议
puppet yum模块、配置仓储、mount模块
转载:http://blog.51cto.com/ywzhou/1577335 作用:自动为客户端配置YUM源,为使用yum安装软件包提供便捷。 1、服务端配置yum模块 (1)模块清单 [root@puppet ~]# tree /etc/puppe...
1073 0
|
网络协议 安全 网络安全
|
Perl 存储 数据挖掘