天天看点

Puppet module命令参数介绍(六)

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 &lt;action&gt; [--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 `&lt;ACTIVE ENVIRONMENT'S</code>

<code>                                   </code><code>MODULES DIR&gt;:$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>--&gt; </code>

<code>#这个模块谁写的?</code>

<code>Who wrote this module?  [example]</code>

<code>--&gt; example-meng</code>

<code>#这个模块属于哪个许可机构?</code>

<code>What license does this module code fall under?  [Apache 2.0]</code>

<code>--&gt; apache</code>

<code>#一句话描述这个模块?</code>

<code>How would you describe this module </code><code>in</code> <code>a single sentence?</code>

<code>--&gt; My name is meng</code>

<code>#这个模块的源码仓库在哪?</code>

<code>Where is this module's </code><code>source</code> <code>code repository?</code>

<code>--&gt; </code><code>/tmp</code>     

<code>#其他人去哪学习这个模块?</code>

<code>Where can others go to learn </code><code>more</code> <code>about this module?</code>

<code>--&gt; 51cto.com</code>

<code>#关于这个模块的文件问题去哪解决?</code>

<code>Where can others go to </code><code>file</code> <code>issues about this module?</code>

<code>--&gt; 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>"&gt;= 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>--&gt; 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