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

如何使用Puppetfile在独立模式下配置服务器,puppet,Puppet,我正在创建木偶配置结构 puppet │   ├── data │   │   └── common.yaml │   ├── hiera.yaml │   ├── manifests │   │   └── site.pp │   ├── modules │   │   ├── accessories │   │   │   └── manifests │   │   │   └── init.pp │   │   ├── nginx │   │   │   ├── manifests

我正在创建木偶配置结构

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)的命令设置中找到用于配置它的内容,但未成功


使用Puppetfile在独立模式下自动配置puppet是真的,还是仅在“puppet模块安装”时才可能?

puppet服务器或客户端代码不会解释或读取puppet文件。它们可以帮助其他工具有效地部署适当的puppet模块

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

安装和配置后,
r10k
将读取您的Puppetfile并下载并安装定义的条目。在您的情况下,它将安装
puppetlabsmysql
3.10.0
版本。这将被安装到您的
modules
目录中,然后您可以执行puppet代理运行并利用新安装的模块


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

您需要安装Library puppet或r10k。对于单机版,图书管理员傀儡将更有意义。谢谢!我已经安装了r10k,现在通过在带有puppetfile的目录中运行“r10k puppetfile install”在虚拟工作站上运行。@Баааааааааааа107。如果我的答案有帮助,请将其标记为正确答案!