Ubuntu 如何自动化Puppet';s模块安装
我正在Ubuntu机器上一键部署一个系统。刚开始用木偶做这个。看来,为了让我使用外部模块,我必须使用类似于Ubuntu 如何自动化Puppet';s模块安装,ubuntu,deployment,puppet,continuous-delivery,Ubuntu,Deployment,Puppet,Continuous Delivery,我正在Ubuntu机器上一键部署一个系统。刚开始用木偶做这个。看来,为了让我使用外部模块,我必须使用类似于 puppet module install foo 问题: 我是否总是需要预装模块才能使用它们 如何自动安装Puppet模块 这是一个独立的木偶设置(所以不是主从木偶)。对于不同的客户,我必须重复多次。因此,将很高兴有一个单一的按钮为我做所有的工作。在后期,有一个主从设置的位置。但是,对于每个客户来说,它必须是独立的。我在一个无主机的设置中工作 你应该看看 您可以编写描述所有模块的Pup
puppet module install foo
问题:
这是一个独立的木偶设置(所以不是主从木偶)。对于不同的客户,我必须重复多次。因此,将很高兴有一个单一的按钮为我做所有的工作。在后期,有一个主从设置的位置。但是,对于每个客户来说,它必须是独立的。我在一个无主机的设置中工作 你应该看看 您可以编写描述所有模块的Puppetfile:
- 本地目录
- 远程git
- 木偶锻造厂
如果您使用的是puppet主机,则只需在主机上安装模块。客户机将不需要它们,因为主机将为它们编译配置
因此,如果您想使用某个模块,只需在主机上安装一次“puppet module install foo”即可。回答我自己的问题 我是否总是需要预装模块才能使用它们 不,我没有。在单节点设置(无主)中,可以将模块放入
--modulepath=/my module root
路径中,puppet将拾取它们。我的问题是模块的文件夹名与init.pp
中的类不匹配。比如说
| modules
| -- gini_cassandra ++ HERE ++
| ---- manifests
| ------ init.pp
有一次,我把基尼·卡桑德拉(gini_cassandra)改名为卡桑德拉(cassandra)
如何自动安装Puppet模块
由于我不需要
在无主设置中安装
模块,因此我不需要将其自动化。然而,我发现图书管理员傀儡
(多亏了这个)真的很有用。我不需要对外部模块进行版本控制。图书管理员将在我的机器、我运行安装的目标机器和构建机器上为我提取它们。有意义。然而,在我的设置中,它是一个单独的傀儡节点。对于每个客户,我必须重复多次。有没有办法排除puppet module install foo
的手动步骤?创建一个puppet类,用exec资源安装它们?这不完全是我想要的,但我发现Library puppet非常有用。它也可以在Windows上工作,Windows是我的开发平台。竖起大拇指寻求帮助。我会把我自己的答案标记为接受。
class cassandra ...