Puppet Enterprise:找不到间接节点的终端控制台

Puppet Enterprise:找不到间接节点的终端控制台,puppet,Puppet,我是Puppet Enterprise的新手,在为简单代理节点编译目录时遇到了一个问题。主机运行在rhel6盒上,代理运行在主机通过vagrant启动的centos6.5盒上。从代理VM运行以下操作时发生问题: bash-4.1$ sudo puppet agent --waitforcert 60 --test --certname agent.example.com Warning: Unable to fetch my node definition, but the agent run

我是Puppet Enterprise的新手,在为简单代理节点编译目录时遇到了一个问题。主机运行在rhel6盒上,代理运行在主机通过vagrant启动的centos6.5盒上。从代理VM运行以下操作时发生问题:

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主机的“puppet.conf”文件(3.4.3-puppet Enterprise 3.2.3)如下所示:

[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
[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代理(版本3.3.1)的“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
[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
最后,“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
}
通过阅读,我会认为,由于我将终端设置为“普通”,puppet master只需从site.pp清单检索节点对象,但它似乎在寻找控制台节点终端


如果您有任何想法或见解,我们将不胜感激。

我目前正因为一个类似的问题而头痛不已。虽然我还没有找到解决这个问题的方法,但我在研究中发现了一些对其他人有用的好方法

  • 确保运行的是正确版本的Ruby(即:1.8.x而不是1.9+)
    • 编辑:显然这个错误已经被修复了。通常支持Ruby版本2.1以上
  • 确保puppetdb terminus包已安装在您的Puppet主机上
  • routes.yaml(如果您有该文件)中的标记是否正确

我在尝试使用环境时遇到了类似的问题


注释节点\终端配置将默认为site.pp,这是您想要的,对吗?

任何突破。。??我被困住了,我的ruby版本是2.1,但我仍然面临这个问题。是否必须安装Puppetdb终端。。?