来自木偶最佳实践:
Puppet文档将模块描述为代码和数据的self-contained包。
好的没问题。
单个模块可以轻松地管理单个应用程序。
所以,傀儡实验室- Apache只管理Apache,傀儡实验室- MySQL只管理MySQL。
……所以,我的模块my_company-mediawiki只管理Mediawiki (我想.数据库和虚拟主机..。因为一个模块是独立包含的代码和数据包)。
当服务于单一目的时,限制依赖项,并且只关心管理与其命名目的相关的系统状态时,模块是最有效的。
但是,我的公司-mediawiki需要依赖于:
还有..。通过快速搜索,我了解到许多模块引用了其他模块。
但是..。
它们提供了完整的功能,而不需要对任何其他模块创建依赖关系,并且可以根据需要进行组合以构建不同的应用程序堆栈。
好的,一个好的模块是独立的,没有依赖关系.
因此,我必须使用模式、角色和概要文件来完成这些最佳实践?或者我很困惑..。
发布于 2017-02-23 20:39:35
“木偶文档”将模块描述为独立的,与其说是确定的,不如说是有抱负的。不要把它看得太多,或别人对它的回响。模块是木偶在类和定义类型之上的下一级代码组织,还包含插件和拥有的数据。
许多低级别模块确实没有跨模块依赖关系,但当您开始在该节点配置和整个节点配置之间形成一个级别的聚合时,这种依赖不可避免地出现。这并没有本质上的问题。Roles & Profiles模式是构建这类聚合的好方法,但它不是唯一的方法,而且在任何情况下它都不会避免跨模块依赖,因为角色和概要文件类与任何其他类一样,应该属于模块。
https://stackoverflow.com/questions/42424376
复制相似问题