Puppet Enterprise:无法找到节点间接寻址的控制台终端

3

我是一位新手,正在使用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

证书看起来没有问题。来自 Puppet Master:
[mark@puppetmaster puppetlabs]$ sudo puppet cert list agent.example.com
+ "agent.example.com" (SHA256) blah

最后,'site.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 master只需从site.pp清单中检索节点对象,但似乎它正在寻找控制台节点终端...... 如果有任何想法或见解,将不胜感激。
2个回答

1
我曾经尝试使用环境时遇到了类似的问题。
注释掉node_terminus配置将默认使用site.pp,这正是您想要的,对吗?

1

我目前正在面对类似的问题,虽然我还没有找到解决方案,但是在我的研究中我发现了一些好的指针可以帮助其他人。

  • 确保你运行的是正确的Ruby版本(例如:1.8.x而不是1.9+)。
    • 编辑:显然这个错误已经被修复。 Ruby版本高达2.1通常都受支持。
  • 确保puppetdb-terminus包已安装在您的Puppet Master上。
  • 如果有routes.yaml文件,请确保标记正确?

有任何突破吗?我被这个问题困住了。我的 Ruby 版本是 2.1,但我仍然面临这个问题。安装 Puppetdb-terminus 是必须的吗? - Mohan Karthik Sanagapalli

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接