我是 Puppet 的新手,所以也许你会发现我的问题有点愚蠢......所以,我正在寻找可以在我的机器上安装和运行 Mongodb 2.2 的 puppet 配方。通过谷歌搜索,我找到了这个模块http://forge.puppetlabs.com/puppetlabs/mongodb但我不明白我该怎么做?它说我必须先在 puppet 节点上安装模块。究竟是什么意思?比方说,我有一组必须通过 puppet 配置的机器。为了达到这个目标,我必须在 puppet 食谱中添加什么?
3 回答
如果有人可能对安装 MongoDB 的最新版本感兴趣,这对我来说效果很好。在撰写本文时,最新的稳定版本是MongoDB 3.0.3。
首先通过 puppet apt 模块更新您的操作系统存储库(如果您使用的是 Debian 或 Ubuntu 发行版)。根据您的发行版和版本更改以下数据。查看此处获取 MongoDB 官方存储库信息:http ://docs.mongodb.org/manual/administration/install-on-linux/#recommended
# $::lsbdistcodename should contain what you usually get
# with the `lsb_release -sc` command
$server_lsbdistcodename = downcase($::lsbdistcodename)
apt::source { 'mongodb-org-3.0':
location => 'http://repo.mongodb.org/apt/debian',
release => "${server_lsbdistcodename}/mongodb-org/3.0",
repos => 'main',
key => '7F0CEB10',
key_server => 'keyserver.ubuntu.com',
include_src => false
}
然后mongodb::globals
正确设置类以确保您获得MongoDB 3。我正在使用的 MongoDB puppet 模块就是这个。
class { 'mongodb::globals':
manage_package_repo => false, # disable the 10gen repository
server_package_name => 'mongodb-org',
service_name => 'mongod',
version => '3.0.3',
}->
class { '::mongodb::server': }
使用 puppet 安装 mongodb 并不像看起来那么容易。获取官方 Puppet Labs 模块 v0.8.0 来安装 mongodb 2.6.3 有点困难。你最终得到一个关于mongodb-10gen=2.6.3 not being found的恰当错误。已经有问题和补丁,但尚未发布。
所以这就是你需要做的:
git clone https://github.com/puppetlabs/puppetlabs-mongodb.git
然后使用以下 puppet 配置:
class { '::mongodb::globals':
manage_package_repo => true,
server_package_name => 'mongodb-org',
version => '2.6.3'
}->
class { '::mongodb::server': }
这对我有用。
如果您正在独立运行 puppet,则您已经安装了 puppet gem 并拥有puppet
可执行文件。要安装模块,请运行puppet module install puppetlabs/mongodb
. 模块安装后,您可以简单地在节点定义中包含 mongodb 模块
node 'myhost' {
include mongodb
}
如果要运行需要访问模块的多个节点,则必须设置 puppetmaster 并安装节点。有关详细信息,请参阅 [基本代理/主设置][1]。确保在 puppet.conf 中启用了 pluginsync=true,以便模块可以访问远程代理。
然后 puppetmaster 需要一个文件,通常site.pp
用它应该配置的节点来定义。最后,在要运行 mongodb 的每个节点上包含 mongodb 模块,您应该可以启动并运行。