官术网_书友最值得收藏!

Summary

All the development in Puppet should be done in modules, and each such module should serve as specific a purpose as possible. Most modules comprise only manifests. This suffices to provide very effective and readable node manifests that clearly and concisely express their intent by including aptly named classes and instantiating defined types.

Modules can also contain Puppet plugins in the form of resource types and providers, parser functions, or facts. All of these are usually Ruby code. External facts can be written in any language, though. Writing your own types and providers is not required, but it can boost your performance and management flexibility.

It is not necessary to write all your modules yourself. On the contrary, it's advisable to rely on the open source modules from the Puppet Forge as much as possible. The Puppet Forge is an ever-growing collection of helpful code for virtually all the systems and software that Puppet can manage. In particular, the modules that are curated by Puppet Labs are usually of very high quality. As with any open source software, you are more than welcome to add any missing requirements to the modules yourself.

After this broad view on Puppet's larger building blocks, the next chapter narrows the scope a little. Now that you have the tools to structure and compose a manifest code base, you will learn some refined techniques in order to elegantly solve some distinct problems with Puppet.

主站蜘蛛池模板: 本溪| 天峻县| 灵丘县| 贺州市| 修武县| 焦作市| 碌曲县| 古浪县| 常德市| 鸡东县| 南木林县| 顺昌县| 鄂温| 荆州市| 乌鲁木齐市| 饶河县| 吉木乃县| 大邑县| 新民市| 瑞昌市| 梧州市| 延边| 赤城县| 淮南市| 金乡县| 红原县| 志丹县| 喜德县| 弥勒县| 壤塘县| 涟源市| 顺昌县| 河间市| 朔州市| 永昌县| 长白| 洛南县| 时尚| 新巴尔虎右旗| 波密县| 延安市|