傀儡企业:找不到间接节点的终端控制台



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以下版本。
  • 确保Puppet Master上安装了puppetdb-terminus包
  • 是路由中的标记。Yaml(如果您有该文件)正确吗?
  • 我在尝试使用环境时遇到了类似的问题。

    注释node_terminus配置将默认为site。这是你想要的,对吧?

    最新更新