天天看點

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