在 AWS 上使用 Puppet 开源设置 Puppet

Setup puppetDB with puppet opensource on AWS

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

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

很好,但我对替代解决方案也有疑问:

Download the PuppetDB source code, unzip it and navigate into the resulting directory in your terminal.

Run 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 puppet 清单:

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

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

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

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

[]的

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

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

使用此repo后,安装过程中没有更多问题。