如何使用Puppetfile在独立模式下配置服务器

时间:2017-03-13 02:03:50

标签: puppet

我正在创建木偶配置结构

puppet
│   ├── data
│   │   └── common.yaml
│   ├── hiera.yaml
│   ├── manifests
│   │   └── site.pp
│   ├── modules
│   │   ├── accessories
│   │   │   └── manifests
│   │   │       └── init.pp
│   │   ├── nginx
│   │   │   ├── manifests
│   │   │   │   ├── config.pp
│   │   │   │   ├── init.pp
│   │   │   │   └── install.pp
│   │   │   └── templates
│   │   │       └── vhost_site.erb
│   │   ├── php
│   │   │   ├── manifests
│   │   │   │   ├── config.pp
│   │   │   │   ├── init.pp
│   │   │   │   └── install.pp
│   │   │   └── templates
│   │   │       ├── php.ini.erb
│   │   │       └── www.conf.erb
│   │   └── site
│   │       └── manifests
│   │           ├── database.pp
│   │           ├── init.pp
│   │           └── webserver.pp
│   └── Puppetfile

现在我只有一台服务器,所以我有时会通过运行来更新它:

sudo puppet apply --hiera_config=hiera.yaml --modulepath=./modules manifests/site.pp

此时我需要使用一些外部模块,例如我在下一行添加了Puppetfile。

forge "http://forge.puppetlabs.com"

mod 'puppetlabs-mysql', '3.10.0'

......当然它不起作用。 我尝试在'apply'(Configuration Reference)的命令设置中找到配置它的东西但是不成功。

使用Puppetfile在独立模式下自动配置puppet是真的,还是只能用'puppet module install'???

1 个答案:

答案 0 :(得分:1)

木偶服务器或客户端代码不会解释或读取Puppetfiles。他们在那里帮助其他工具有效地部署正确的木偶模块。

在您的情况下,为了利用您编写的Puppetfile,您需要安装和配置r10k。 HERE是Puppet Enterprise文档的基础知识。 HERE是另一个很棒的资源,r10k GitHub页面。

安装并配置后,r10k将读取您的Puppetfile并下载+安装已定义的条目。在您的情况下,它会安装3.10.0的版本puppetlabs-mysql。这将安装到您的modules目录中,然后您可以执行puppet agent运行并利用新安装的模块。

总之,客户端不使用Puppetfiles,代码部署软件(r10k)会使用它们来下载和构建适当的模块供puppet服务器或代理使用。您可以选择配置r10k以按照Puppetfile中的定义配置模块,或者手动下载模块并消除对Puppetfile的需要。

相关问题