我无法使傀儡节点加入主节点,我在 AWS 云上使用 puppet 企业版。
主人
puppetserver --version
puppetserver version: 2017.3.0.38
节点
# puppet agent --test
Error: Could not request certificate: Error 403 on SERVER: Forbidden request: /puppet-ca/v1/certificate/ca (method :get). Please see the server logs for details.
Exiting; failed to retrieve certificate and waitforcert is disabled
显然错误消息与主站的权限有关,当我检查主站的日志时,我看到
ERROR [qtp2147089302-255] [p.t.a.rules] Forbidden request: 10.0.10.224 access to /puppet-ca/v1/certificate/ca (method :get) (authenticated: false) denied by rule 'puppetlabs certificate'.
但我检查了 auth.conf 的新 HOCON 格式是否允许未经身份验证的节点发送 CSR
{
"allow-unauthenticated": "*",
"match-request": {
"method": "get",
"path": "/puppet-ca/v1/certificate/",
"query-params": {},
"type": "path"
},
"name": "puppetlabs certificate",
"sort-order": 500
}
我还检查了 pe-puppet-server.conf 没有使用传统的 auth.conf 方法
# (optional) Authorize access to Puppet master endpoints via rules specified
# in the legacy Puppet auth.conf file (if true or not specified) or via rules
# specified in the Puppet Server HOCON-formatted auth.conf (if false).
use-legacy-auth-conf: false
max-active-instances: 2
max-requests-per-instance: 0
environment-class-cache-enabled: true
请注意,Windows和Linux上都发生相同的错误消息
我确实重新启动了整个服务器(EC2 实例(,因为重新加载 PuppetServer 没有帮助......我还从控制台进行了身份验证更改,如此处所述
Windows Puppet Agent 未连接到 awsopsworks puppet Enterprise master
我在尝试设置我的傀儡节点时遇到了类似的问题,但使用的是 Vagrant 而不是 AWS。
修复是取消设置以下环境变量:http_proxy
、https_proxy
、HTTP_PROXY
和HTTPS_PROXY
。
我的解决方法是从puppet.conf
中删除server_list
,清理CM证书并重新生成证书。就我而言,我已经autosign=true
,所以过程是:
- 在 CM 上停止 PE:
systemctl stop puppet pxp-agent pe-puppetserver pe-puppetdb
- 删除 ssl 目录
rm -fr /etc/puppetlabs/puppet/ssl
- 来自主数据库的清理证书:
puppetserver ca clean --certname='<CM>'
- 在 CM 上运行傀儡代理
puppet agent -t
做。