安装puppet和安装apache软件包问题

安装puppet和安装apache软件包问题,apache,ubuntu,module,puppet,Apache,Ubuntu,Module,Puppet,出于测试目的,我想使用puppet在Ubuntu16.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

出于测试目的,我想使用puppet在Ubuntu16.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
然后我得到了以下信息:

注意:OSBOX.home环境产品的编译目录只需0.03秒
注意:完成的目录运行时间为0.04秒
当我检查是否安装了apache时,它不是


哪里出错了?

如果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

这是为了满足木偶的自动装弹机。你可以了解更多

同时,modulepath是有文档记录的,它可以根据Puppet的版本和设置方式而有所不同

要了解您的模块路径,请尝试:

$ sudo puppet config print modulepath
现在,如果您已经准备好了所有文件,那么接下来应该能够以不同的方式包括该类,如下所示:

$ sudo puppet apply -e "include apache2"

一旦你开始工作,是时候了解这个模式了。

一个有趣的旁注是他安装了
puppetlabs apache
模块,大概是为了利用它,但实际上并没有这样做。也许再加上一个简短的说明?哦。由于格式问题,这一点不太明显,我没有注意到(我刚刚编辑了格式以解决这个问题)。嗯,是的。这改变了一切!我将添加一个更新。