在AWS上使用puppet opensource设置puppetDB

时间:2016-03-18 18:09:53

标签: amazon-web-services puppet

我有一个木偶开源3.8的工作设置,有一个木偶大师和几个节点。 我想安装puppetDB和仪表板,这样我就可以很好地了解我的节点。 为了不破坏当前设置中的任何内容,我希望在单独的服务器上安装puppetDB。 (一切都在AWS EC2实例上运行。)

我试图使用以下描述并让puppet安装puppetDB: PuppetDB 2.3.8-1.el6 - 我相信这是与puppet 3.8兼容的最新版本 我已经设法在数据库节点上安装puppetDB,但是我无法将我的puppet master连接到节点。 基于此文档: Connecting Puppet Masters to PuppetDB 我需要安装puppetdb-terminus。但是我正在使用Puppet Open-source,所以“sudo puppet资源包puppetdb-terminus ensure = latest”在puppet agent上失败了。

没关系,但我也有替代解决方案的问题:

  

下载PuppetDB源代码,解压缩并导航到终端中的结果目录。

     

运行sudo cp -R puppet / lib / puppet / /usr/lib/ruby/site_ruby/1.8/puppet。

puppetdb-2.3.8.tar.gz和puppetdb-3.2.4.tar.gz档案中都没有puppet / lib / puppet。

作为我最后的希望,我去github抓住了源头: https://github.com/puppetlabs/puppetlabs-puppetdb/tree/master/lib/puppet 我已将这些文件复制到/usr/lib/ruby/site_ruby/1.8/puppet。

/var/log/messages:Mar 18 13:08:03 ip-10-84-4-172 puppet-master[25616]: Could not configure routes from /etc/puppet/routes.yaml: Could not find terminus puppetdb for indirection facts

此时我完全卡住了。如何验证我的puppet-terminus安装?如果这种方式不好,我怎么能把它安装在我的木偶大师身上?

(我正在使用RHEL6,Puppet Open-source 3.8,我已根据文档对puppet master进行了所有其他更改。)

为了完整起见,这是我的puppetDB木偶清单:

class { 'puppetdb::globals':
    version => '2.3.8-1.el6',
}
class { 'puppetdb::database::postgresql':
    listen_addresses => $postgres_host,
}

class { 'puppetdb::server':
    database_host => $puppetdb_host,
}

2 个答案:

答案 0 :(得分:1)

我只是将我的PuppetDB从puppetmaster服务器迁移到独立服务器。为了处理PuppetDB的安装,我使用了Puppet Labs的module

它很简单。数据库迁移是使用puppetdb - 从主服务器导出 - 和新服务器中的puppetdb --import完成的。最后一件事是在puppet master配置中更改PuppetDB的地址。

[]' S

答案 1 :(得分:1)

puppet repo页面很棘手,Pre4.0开源二进制文件有一个单独的回购:

https://docs.puppetlabs.com/guides/puppetlabs_package_repositories.html#pre-40-open-source-repositories

使用此回购后,安装过程中不再出现问题。