安装puppet并安装apache包问题

问题描述 投票:1回答:1

出于测试目的,我想使用puppet在Ubuntu 16.4 puppet master上设置puppet和部署apache,而不必通过使用以下步骤来使用节点:

$ wget https://apt.puppetlabs.com/puppet5-release-xenial.deb

通过运行安装包:

$ dpkg –i puppet5-release-xenial.deb

更新包列表

$ apt-get update

安装puppet服务器

$ sudo apt-get install puppetserver

在我们的Puppet服务器上,安装puppetlabs-apache模块:

$ sudo puppet module install puppetlabs-apache

在manifests目录中,需要创建一个init.pp类/etc/puppet/modules/apache/manifests/init.pp

class apache2 {
    package {'apache2':
          ensure => 'present',
    }
}

要尝试安装我使用的apache包:

$ sudo puppet apply init.pp

然后我得到以下内容:

Notice: Compiled catalog for osboxes.home in environment production in 0.03 seconds
Notice: Finished catalog run in 0.04 seconds

当我检查是否安装了apache时,它不是。

我哪里错了?

apache ubuntu module puppet
1个回答
3
投票

如果您将Apache模块放在正确的模块路径中,那么问题是您没有任何代码来包含该模块。

为了简单起见,让我们忘记Puppet master上的文件结构等等,然后创建一个文件apache.pp(将它保存在/ tmp或你喜欢的任何地方)并给它这个内容:

class apache2 {
    package {'apache2':
        ensure => 'present',
    }
}

include apache2

现在尝试:

$ sudo puppet apply apache.pp

你应该看到Puppet安装了apache2包。

但是,按照惯例,以及与Puppet master的正确集成,您现在需要将此内容放在预期的文件位置中。

类apache(您已经拥有的代码)需要位于文件${modulepath}/apache2/manifests/init.pp中。

这是为了满足Puppet的自动加载器。你可以找到关于那个here的更多信息。

同时,模块路径记录为here,它可以根据Puppet的版本以及如何设置所有内容而有所不同。

要找出你的模块路径,请尝试:

$ sudo puppet config print modulepath

现在,如果您已准备好所有文件,那么您接下来应该能够以不同的方式包含该类,如下所示:

$ sudo puppet apply -e "include apache2"

一旦你开始工作,就该阅读有关roles and profiles模式的时间了。

© www.soinside.com 2019 - 2024. All rights reserved.