簡體   English   中英

木偶理解參數類

[英]puppet understanding parameters class

我是木偶新手。 我有一個偽造的基本基礎設施。 我從安裝

puppetforge“ example42 / lighttpd”

我能夠將此類毫無問題地部署到人偶控制的節點。 我現在的問題是..如何在此類中使用參數? 我不知道我可以在哪里激活參數。我想使用自定義的index.html和不同的日志文件路徑來部署lighttpd。我希望你能給我一個機會:)

在文件params.pp中

This class is not intended to be used directly.
It may be imported or inherited by other classes

但是我怎么導入呢?

首先,要開始使用puppet,您應該查看所涉及模塊的文檔(即README,README.md等)。 接下來,了解params模式。 人偶模塊中的params類通常是不包含任何資源的類,用於保存模塊的默認數據(數據不是從外部資源(例如hiera)提供的)。 大多數情況下,您會看到類似以下內容的信息:

inherits lighttpd::param

在init或模塊中的另一個清單文件中。 那是因為它繼承了params類的值。

希望這至少可以有所幫助。

簡而言之,不要直接使用params.pp(通過聲明)。 此類是params設計模式的一部分,該模式指出可以將參數的默認值放在params.pp中。puppet類可以由所有需要訪問在params.pp中定義的參數的類繼承。

我認為最好的起點是每個Puppet模塊都有的init.pp類。 它可以在從Puppet Forge下載的Puppet模塊的清單目錄中找到。

/Users/bjusufbe/.puppetlabs/etc/code/modules/lighttpd/manifests
Bakirs-MacBook-Pro:manifests bjusufbe$ ls -la
total 56
drwxr-xr-x   6 bjusufbe  staff    204 Oct 23 19:27 .
drwxr-xr-x  10 bjusufbe  staff    340 Oct 23 19:27 ..
-rw-r--r--   1 bjusufbe  staff   1705 Oct 23 19:26 dotconf.pp
-rw-r--r--   1 bjusufbe  staff  15763 Oct 23 19:27 init.pp
-rw-r--r--   1 bjusufbe  staff   2633 Jul 17  2013 params.pp
-rw-r--r--   1 bjusufbe  staff    560 Apr 10  2013 spec.pp

如果打開init.pp,將看到以下類定義:

class lighttpd (
  $use_ssl             = params_lookup( 'use_ssl' ),
  $my_class            = params_lookup( 'my_class' ),
  $source              = params_lookup( 'source' ),
  $source_dir          = params_lookup( 'source_dir' ),
  ...

所有參數都使用params_lookup自定義函數(Puppet不提供,但是example42命名空間中其他模塊的一部分)。 您可以在以下鏈接上查看有關如何使用此功能的詳細信息:本章的“ 如何使用params_lookup ”:PARAMS LOOKUP ORDER

但是,為了使您更輕松,可以在site.pp(如果使用Puppet主/代理方案)中或在無主方案的任何* .pp文件中使用以下語法聲明此類,只需調用以下方法即可應用:

puppet apply <name_of_pp_file>.pp

簡單的聲明如下:

class { 'lighttpd':
  <anyparameterfromthisclassdefinition> => <value>
}

例:

class { 'lighttpd':
  use_ssl => true,
}

如果您不想在類聲明中傳遞任何參數,則將使用由自定義函數params_lookup為該類中的每個參數計算的默認值。 在這種情況下,您可以簡單地執行以下操作:

include lighttpd

希望這能給您足夠的起點。 干杯!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM