Puppetで設定ファイルのテンプレートを使用する方法

数学:

私はPuppetを初めて使用し、構成ファイルをセットアップするモジュールを作成しています。問題は、複数のクライアントが私のモジュールを使用する場合、システムに応じて編集する必要があることです。テンプレートはこの問題を解決する方法であると聞いています。しかし、設定ファイルを設定するためのテンプレートの使用方法を取得できません。

テンプレートを使用してファイルを構成する簡単な例を私に教えてもらえれば、本当に役に立ちます。たとえば、テンプレートを使用してApacheサイトで利用可能なデフォルトの構成ファイルを設定する方法や、新しい人形ユーザーを助けると思われる他の例を挙げてください。ところで私はUbuntuマシンを使っています。

Ben Whaley:

Puppetテンプレートの使用に関するPuppetLabsのドキュメントには、TracサイトのApache構成の例があります。これはあなたが始めるのに十分なはずです。

OPのリクエストに従って、簡単な例を示します。かなり大きくて複雑なファイルなので、Apacheのデフォルト設定ではなくNTPを使用しています。NTPははるかに単純です。

ディレクトリは次のようになります。

/etc/puppet/modules/ntp/manifests
                       /templates

部分的なコンテンツ/etc/puppet/modules/ntp/manifests/init.pp(テンプレートを定義する部分のみ):

$ntp_server_suffix = ".ubuntu.pool.ntp.org"

file { '/etc/ntp.conf':
    content => template('ntp/ntp.conf.erb'),
    owner   => root,
    group   => root,
    mode    => 644,
}

の内容/etc/puppet/modules/ntp/templates/ntp.conf.erb

driftfile /var/lib/ntp/drift
<% [1,2].each do |n| -%>
server <%=n-%><%=@ntp_server_suffix%>
<% end -%>

restrict -4 default kod notrap nomodify nopeer noquery
restrict -6 default kod notrap nomodify nopeer noquery
restrict 127.0.0.1

パペットで実行すると/etc/ntp.conf、次のような結果になります。

driftfile /var/lib/ntp/drift
server 1.ubuntu.pool.ntp.org
server 2.ubuntu.pool.ntp.org

restrict -4 default kod notrap nomodify nopeer noquery
restrict -6 default kod notrap nomodify nopeer noquery
restrict 127.0.0.1

これは、いくつかの異なる概念を示しています。

  1. パペットマニフェストで定義された$ntp_server_suffix変数(@ntp_server_suffixテンプレートのインスタンス変数(としてアクセスできるものなど
  2. ループと他のルビコードはERBテンプレートで使用できます
  3. コードの間<%%>ルビーによって実行されます
  4. 間のコード<%=とは、%>ルビーで実行されて出力されます
  5. 間のコード<%=とは-%>、実行して出力ルビーでと改行文字が抑制されます。

これがテンプレートの理解に役立つことを願っています。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

rstudioで新しい「.R」ファイルのデフォルトテンプレートを設定する方法

分類Dev

コンテナーのyamlテンプレートファイルにOpenShiftQoS設定を設定するにはどうすればよいですか?

分類Dev

dockerize golangテンプレートのファイルコンテンツから変数を設定する

分類Dev

PowerPointテンプレートでデフォルトのファイル名を設定するにはどうすればよいですか?

分類Dev

Django 1.10がテンプレートを設定ファイルで定義するように強制するのはなぜですか?

分類Dev

静的ファイルでdjangoテンプレート構文を使用する方法

分類Dev

golang html / templateの基本テンプレートファイルを使用する方法

分類Dev

AzureDevOpsでブランチ名のデフォルトテンプレートを設定する方法

分類Dev

春のプロパティファイル内のプレースホルダの値を設定する方法

分類Dev

Outlook2016でデフォルトのテンプレートを設定する方法

分類Dev

Joomla:独自のテンプレートで主要な記事のスタイルを設定する方法

分類Dev

(Restクライアントから)RestTemplateを使用するときにマルチパートアップロードでファイルのコンテンツタイプを設定する方法

分類Dev

ルートファイルからテンプレートファイルに変数を設定します

分類Dev

Puppetテンプレートの反復とyamlファイル

分類Dev

Fastlineファイルでデフォルトレーンを設定する

分類Dev

IntelliJのファイルテンプレートでMavenプロパティをエスケープする方法

分類Dev

(テンプレートのように解析せずに)Puppetでファイル全体を逐語的に読み取る方法は?

分類Dev

設定ファイルでルートヘルパーを使用する方法

分類Dev

現在のvueのデフォルト設定でjsonファイルをインポートする方法は?

分類Dev

ディレクティブのテンプレートURLのhtmlファイルで定義された属性値を取得する方法

分類Dev

jdni.propertiesファイルをポイントしてJavaでプロパティを設定する方法

分類Dev

Apache Common fileuploadを使用してアップロードされたファイルのパスを「コンテキストパス」に設定する方法

分類Dev

AWSクライアントでプロファイルを設定する方法

分類Dev

外部htmlファイルでes6テンプレートリテラルを使用する方法

分類Dev

既存のテンプレートでパワーポイントファイルを使用する

分類Dev

Samba共有で作成されたファイルのデフォルトグループを設定する方法

分類Dev

Vueテンプレートファイルでeslintprettier disableスタイルを設定するにはどうすればよいですか?

分類Dev

ファイルのダウンロード用にJavaでコンテンツタイプを設定する

分類Dev

Beegoのテンプレートファイルで範囲のインデックスを取得する方法

Related 関連記事

  1. 1

    rstudioで新しい「.R」ファイルのデフォルトテンプレートを設定する方法

  2. 2

    コンテナーのyamlテンプレートファイルにOpenShiftQoS設定を設定するにはどうすればよいですか?

  3. 3

    dockerize golangテンプレートのファイルコンテンツから変数を設定する

  4. 4

    PowerPointテンプレートでデフォルトのファイル名を設定するにはどうすればよいですか?

  5. 5

    Django 1.10がテンプレートを設定ファイルで定義するように強制するのはなぜですか?

  6. 6

    静的ファイルでdjangoテンプレート構文を使用する方法

  7. 7

    golang html / templateの基本テンプレートファイルを使用する方法

  8. 8

    AzureDevOpsでブランチ名のデフォルトテンプレートを設定する方法

  9. 9

    春のプロパティファイル内のプレースホルダの値を設定する方法

  10. 10

    Outlook2016でデフォルトのテンプレートを設定する方法

  11. 11

    Joomla:独自のテンプレートで主要な記事のスタイルを設定する方法

  12. 12

    (Restクライアントから)RestTemplateを使用するときにマルチパートアップロードでファイルのコンテンツタイプを設定する方法

  13. 13

    ルートファイルからテンプレートファイルに変数を設定します

  14. 14

    Puppetテンプレートの反復とyamlファイル

  15. 15

    Fastlineファイルでデフォルトレーンを設定する

  16. 16

    IntelliJのファイルテンプレートでMavenプロパティをエスケープする方法

  17. 17

    (テンプレートのように解析せずに)Puppetでファイル全体を逐語的に読み取る方法は?

  18. 18

    設定ファイルでルートヘルパーを使用する方法

  19. 19

    現在のvueのデフォルト設定でjsonファイルをインポートする方法は?

  20. 20

    ディレクティブのテンプレートURLのhtmlファイルで定義された属性値を取得する方法

  21. 21

    jdni.propertiesファイルをポイントしてJavaでプロパティを設定する方法

  22. 22

    Apache Common fileuploadを使用してアップロードされたファイルのパスを「コンテキストパス」に設定する方法

  23. 23

    AWSクライアントでプロファイルを設定する方法

  24. 24

    外部htmlファイルでes6テンプレートリテラルを使用する方法

  25. 25

    既存のテンプレートでパワーポイントファイルを使用する

  26. 26

    Samba共有で作成されたファイルのデフォルトグループを設定する方法

  27. 27

    Vueテンプレートファイルでeslintprettier disableスタイルを設定するにはどうすればよいですか?

  28. 28

    ファイルのダウンロード用にJavaでコンテンツタイプを設定する

  29. 29

    Beegoのテンプレートファイルで範囲のインデックスを取得する方法

ホットタグ

アーカイブ