puppet module是puppet的基础模块工具,agent和master都可以使用,主要包含下载、更新、查找、升级、创建等功能.它可以从Puppetforge上查找已经开发好的puppet基础模块代码为我们使用,不需要自己再去编写,提升工作效率.
查看puppet module的帮助信息:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<code>[root@puppet ~]</code><code># puppet help module</code>
<code>USAGE: puppet module <action> [--environment production ]</code>
<code>[--modulepath $basemodulepath ]</code>
<code>This subcommand can </code><code>find</code><code>, </code><code>install</code><code>, and manage modules from the Puppet Forge,</code>
<code>a repository of user-contributed Puppet code. It can also generate empty</code>
<code>modules, and prepare locally developed modules </code><code>for</code> <code>release on the Forge.</code>
<code>OPTIONS:</code>
<code> </code><code>--render-as FORMAT - The rendering </code><code>format</code> <code>to use.</code>
<code> </code><code>--verbose - Whether to log verbosely.</code>
<code> </code><code>--debug - Whether to log debug information.</code>
<code> </code><code>--environment production - The environment Puppet is running </code><code>in</code><code>. For</code>
<code> </code><code>clients (e.g., `puppet agent`) this</code>
<code> </code><code>determines the environment itself, </code><code>which</code> <code>is</code>
<code> </code><code>used to </code><code>find</code> <code>modules and much </code><code>more</code><code>. For</code>
<code> </code><code>servers (i.e., `puppet master`) this provides</code>
<code> </code><code>the default environment </code><code>for</code> <code>nodes we know</code>
<code> </code><code>nothing about.</code>
<code> </code><code>--modulepath $basemodulepath - The search path </code><code>for</code> <code>modules, as a list of</code>
<code> </code><code>directories separated by the system path</code>
<code> </code><code>separator character. (The POSIX path</code>
<code> </code><code>separator is </code><code>':'</code><code>, and the Windows path</code>
<code> </code><code>separator is </code><code>';'</code><code>.) Setting a global value </code><code>for</code>
<code> </code><code>`modulepath` </code><code>in</code> <code>puppet.conf is deprecated.</code>
<code> </code><code>Please use directory environments instead. If</code>
<code> </code><code>you need to use something other than the</code>
<code> </code><code>default modulepath of `<ACTIVE ENVIRONMENT'S</code>
<code> </code><code>MODULES DIR>:$basemodulepath`, you can </code><code>set</code>
<code> </code><code>`modulepath` </code><code>in</code> <code>environment.conf. For </code><code>more</code>
<code> </code><code>info, see</code>
<code> </code><code>http:</code><code>//docs</code><code>.puppetlabs.com</code><code>/puppet/latest/reference/environments</code><code>.html</code>
<code>ACTIONS:</code>
<code> </code><code>build Build a module release package.</code>
<code> </code><code>changes Show modified files of an installed module.</code>
<code> </code><code>generate Generate boilerplate </code><code>for</code> <code>a new module.</code>
<code> </code><code>install</code> <code>Install a module from the Puppet Forge or a release archive.</code>
<code> </code><code>list List installed modules</code>
<code> </code><code>search Search the Puppet Forge </code><code>for</code> <code>a module.</code>
<code> </code><code>uninstall Uninstall a puppet module.</code>
<code> </code><code>upgrade Upgrade a puppet module.</code>
<code>See </code><code>'puppet man module'</code> <code>or </code><code>'man puppet-module'</code> <code>for</code> <code>full help.</code>
build 构建模块源码软件包
changes显示一个已经安装的模块的改变
generate 创建一个新的模块
install 从puppet forge安装一个模块
list 查找模块
uninstall 卸载模块
upgrade 升级一个模块
#查看本地安装的puppet模块
<code>[root@puppet ~]</code><code># puppet module list</code>
<code>/etc/puppet/modules</code> <code>(no modules installed)</code>
<code>/usr/share/puppet/modules</code> <code>(no modules installed)</code>
#搜索vmware-vcenter模块
<code>[root@puppet ~]</code><code># puppet module search vmware-vcenter</code>
<code>Notice: Searching https:</code><code>//forgeapi</code><code>.puppetlabs.com ...</code>
<code>NAME DESCRIPTION AUTHOR KEYWORDS </code>
<code>vmware-vcenter VMware vCenter puppet module @vmware vmware vcenter</code>
#安装vmware-vcenter模块
<code>[root@puppet ~]</code><code># puppet module install vmware-vcenter</code>
<code>Notice: Preparing to </code><code>install</code> <code>into </code><code>/etc/puppet/modules</code> <code>...</code>
<code>Notice: Downloading from https:</code><code>//forgeapi</code><code>.puppetlabs.com ...</code>
<code>Notice: Installing -- </code><code>do</code> <code>not interrupt ...</code>
<code>/etc/puppet/modules</code>
<code>└─┬ vmware-vcenter (v0.10.0)</code>
<code> </code><code>├── nanliu-staging (v1.0.3)</code>
<code> </code><code>├── puppetlabs-stdlib (v4.19.0)</code>
<code> </code><code>└── vmware-vmware_lib (v0.7.0)</code>
#卸载vmware-vcenter模块
<code>[root@puppet ~]</code><code># puppet module uninstall vmware-vcenter</code>
<code>Notice: Preparing to uninstall </code><code>'vmware-vcenter'</code> <code>...</code>
<code>Removed </code><code>'vmware-vcenter'</code> <code>(v0.10.0) from </code><code>/etc/puppet/modules</code>
generate参数创建一个模块,名为example-meng
<code>[root@puppet ~]</code><code># puppet module generate example-meng</code>
<code>We need to create a metadata.json </code><code>file</code> <code>for</code> <code>this module. Please answer the</code>
<code>following questions; </code><code>if</code> <code>the question is not applicable to this module, feel </code><code>free</code>
<code>to leave it blank.</code>
#这个模块的版本,默认为0.1.0.
41
42
43
44
45
46
47
48
49
50
51
52
53
<code>Puppet uses Semantic Versioning (semver.org) to version modules.</code>
<code>What version is this module? [0.1.0]</code>
<code>--> </code>
<code>#这个模块谁写的?</code>
<code>Who wrote this module? [example]</code>
<code>--> example-meng</code>
<code>#这个模块属于哪个许可机构?</code>
<code>What license does this module code fall under? [Apache 2.0]</code>
<code>--> apache</code>
<code>#一句话描述这个模块?</code>
<code>How would you describe this module </code><code>in</code> <code>a single sentence?</code>
<code>--> My name is meng</code>
<code>#这个模块的源码仓库在哪?</code>
<code>Where is this module's </code><code>source</code> <code>code repository?</code>
<code>--> </code><code>/tmp</code>
<code>#其他人去哪学习这个模块?</code>
<code>Where can others go to learn </code><code>more</code> <code>about this module?</code>
<code>--> 51cto.com</code>
<code>#关于这个模块的文件问题去哪解决?</code>
<code>Where can others go to </code><code>file</code> <code>issues about this module?</code>
<code>--> no </code>
<code>----------------------------------------</code>
<code>{</code>
<code> </code><code>"name"</code><code>: </code><code>"example-meng"</code><code>,</code>
<code> </code><code>"version"</code><code>: </code><code>"0.1.0"</code><code>,</code>
<code> </code><code>"author"</code><code>: </code><code>"example-meng"</code><code>,</code>
<code> </code><code>"summary"</code><code>: </code><code>"My name is meng"</code><code>,</code>
<code> </code><code>"license"</code><code>: </code><code>"apache"</code><code>,</code>
<code> </code><code>"source"</code><code>: </code><code>"/tmp"</code><code>,</code>
<code> </code><code>"issues_url"</code><code>: </code><code>"no"</code><code>,</code>
<code> </code><code>"project_page"</code><code>: </code><code>"51cto.com"</code><code>,</code>
<code> </code><code>"dependencies"</code><code>: [</code>
<code> </code><code>{</code><code>"version_requirement"</code><code>:</code><code>">= 1.0.0"</code><code>,</code><code>"name"</code><code>:</code><code>"puppetlabs-stdlib"</code><code>}</code>
<code> </code><code>]</code>
<code>}</code>
<code>About to generate this metadata; </code><code>continue</code><code>? [n</code><code>/Y</code><code>]</code>
<code>--> y</code>
<code>Notice: Generating module at </code><code>/root/example-meng</code><code>...</code>
<code>Notice: Populating templates...</code>
<code>Finished; module generated </code><code>in</code> <code>example-meng.</code>
<code>example-meng</code><code>/Gemfile</code>
<code>example-meng</code><code>/spec</code>
<code>example-meng</code><code>/spec/classes</code>
<code>example-meng</code><code>/spec/classes/init_spec</code><code>.rb</code>
<code>example-meng</code><code>/spec/spec_helper</code><code>.rb</code>
<code>example-meng</code><code>/tests</code>
<code>example-meng</code><code>/tests/init</code><code>.pp</code>
<code>example-meng</code><code>/manifests</code>
<code>example-meng</code><code>/manifests/init</code><code>.pp</code>
<code>example-meng</code><code>/README</code><code>.md</code>
<code>example-meng</code><code>/metadata</code><code>.json</code>
<code>example-meng</code><code>/Rakefile</code>
本文转自青衫解衣 51CTO博客,原文链接:http://blog.51cto.com/215687833/1963792