我正在一键式部署系统到Ubuntu机器上。刚开始使用Puppet。它的出现,为了让我使用外部模块,我必须使用的东西预装他们像如何自动化Puppet的模块安装
puppet module install foo
问题:
- 我总是对我有预安装,以模块使用它们?
- 如何自动安装Puppet模块?
这是一个独立的木偶(所以不是主从)。我将不得不为不同的客户多次重复。因此,将有一个单一的按钮做所有为我工作是很好的。在后期,有一个主从设置的地方。但它必须对每个客户都是独立的。
我正在一键式部署系统到Ubuntu机器上。刚开始使用Puppet。它的出现,为了让我使用外部模块,我必须使用的东西预装他们像如何自动化Puppet的模块安装
puppet module install foo
问题:
这是一个独立的木偶(所以不是主从)。我将不得不为不同的客户多次重复。因此,将有一个单一的按钮做所有为我工作是很好的。在后期,有一个主从设置的地方。但它必须对每个客户都是独立的。
回答我自己的问题。
我是否总是需要预先安装模块才能使用它们?
不,我不知道。在设置单个节点(无主机)的情况下,模块可以放入--modulepath=/my-module-root
路径中,木偶将拾取它们。我的问题是该模块的文件夹名称与init.pp
中的类不匹配。例如
| modules | -- gini_cassandra ++ HERE ++ | ---- manifests | ------ init.pp
里面init.pp
我
class cassandra ...
一旦我改名gini_cassandra
到cassandra
事情开始工作。
如何自动安装Puppet模块?
因为我不需要install
模块在无主设置,我不需要自动化它。但是,我发现librarian-puppet
(感谢这个answer)是非常有用的。我不需要版本控制外部模块。图书管理员将在我的机器,运行安装的目标机器以及构建机器上为我提供它们。
我正在减少主设置。
你或许应该看看librarian-puppet 你写Puppetfile描述所有的模块:
和馆员木偶会为你计算一个模块目录。
librarian-puppet install
然后您可以将其上传到目标机器并启动puppet apply。 它也适用于流浪者。
config.vm.provision :puppet, :module_path => "modules"
不完全是我在找的东西,但是我发现图书管理员 - 傀儡真的很有用。它也适用于Windows,这是我的开发平台。大拇指的帮助。我会将自己的答案标记为已接受。 – oleksii