Puppet Enterprise新手,我遇到了为简单代理节点编译目录的问题。主服务器运行在rhel6机器上,代理服务器运行在通过vagrant从主服务器启动的centos6.5机器上。当我从代理虚拟机运行以下命令时,就会出现这个问题:
bash-4.1$ sudo puppet agent --waitforcert 60 --test --certname agent.example.com
Warning: Unable to fetch my node definition, but the agent run will continue:
Warning: Error 400 on SERVER: **Could not find terminus console for indirection node**
Info: Retrieving plugin
Info: Loading facts in /var/opt/puppet/lib/facter/maven_version.rb
Info: Loading facts in /var/opt/puppet/lib/facter/facter_dot_d.rb
Info: Loading facts in /var/opt/puppet/lib/facter/root_home.rb
Info: Loading facts in /var/opt/puppet/lib/facter/jenkins.rb
Info: Loading facts in /var/opt/puppet/lib/facter/pe_version.rb
Info: Loading facts in /var/opt/puppet/lib/facter/puppet_vardir.rb
Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Failed when searching for node agent.example.com: **Could not find terminus console for indirection node**
Warning: Not using cache on failed catalog
Error: Could not retrieve catalog; skipping run
Puppet Master (3.4.3 - Puppet Enterprise 3.2.3)的' Puppet .conf'文件如下:
[main]
vardir = /var/opt/lib/pe-puppet
logdir = /var/log/pe-puppet
rundir = /var/run/pe-puppet
ssldir = /etc/puppetlabs/puppet/ssl
user = pe-puppet
group = pe-puppet
[master]
certname = puppetmaster.example.com
reports = puppetdb
node_terminus = plain
ssl_client_header = SSL_CLIENT_S_DN
ssl_client_verify_header = SSL_CLIENT_VERIFY
storeconfigs_backend = puppetdb
storeconfigs = true
Puppet Agent(版本3.3.1)的' Puppet .conf'如下所示:
[main]
vardir = /var/opt/puppet
logdir = /var/log/puppet
rundir = /var/run/puppet
archive_files = true
archive_file_server = puppet
ssldir = $vardir/ssl
[agent]
classfile = $vardir/classes.txt
localconfig = $vardir/localconfig
server = puppetmaster.example.com
certname = agent.example.com
environment = production
证书似乎是有序的。来自木偶大师:
[mark@puppetmaster puppetlabs]$ sudo puppet cert list agent.example.com
+ "agent.example.com" (SHA256) blah
最后是"站点"。Pp '是微不足道的:
node default {
# This is where you can declare classes for all nodes.
# Example:
# class { 'my_class': }
}
# The agentnode placeholder
node 'agent.example.com' {
# tba
}
通过阅读编目编译步骤,我认为既然我将终端设置为"plain",那么puppet主机将简单地从站点检索节点对象。Pp manifest,然而它似乎正在寻找控制台节点终端…
我现在也遇到了类似的问题。虽然我还没有找到解决这个问题的方法,但我在研究中发现了一些对其他人有用的好方法。
- 确保你运行的是正确的Ruby版本(例如:1.8)。X不是1.9+)
- 编辑:显然这个bug已经被修复了。一般支持Ruby 2.1以下版本。
我在尝试使用环境时遇到了类似的问题。
注释node_terminus配置将默认为site。这是你想要的,对吧?