4

Ubuntu マシンへのシステムのワンクリック展開に取り組んでいます。このために Puppet を使い始めました。外部モジュールを使用するには、次のようなものを使用して事前にインストールする必要があるようです

puppet module install foo

質問:

  1. モジュールを使用するには、常にモジュールを事前にインストールする必要がありますか?
  2. Puppet モジュールのインストールを自動化するにはどうすればよいですか?

これはスタンドアロンのパペット セットアップです (マスター スレーブではありません)。さまざまな顧客に対してこれを何度も繰り返さなければなりません。したがって、単一のボタンですべての作業を実行できると便利です。後の段階では、マスター/スレーブ設定の場所があります。ただし、顧客ごとに独立している必要があります。

4

3 に答える 3

3

私自身の質問に答えます。

モジュールを使用するには、常にモジュールを事前にインストールする必要がありますか?

いいえ、私はしません。単一ノードのセットアップ (マスターレス) では、モジュールを--modulepath=/my-module-rootパスに入れることができ、パペットがそれらを取得します。私の問題は、モジュールのフォルダー名が のクラスと一致しないことでしたinit.pp。例えば

| | モジュール
| | -- gini_cassandra ++ ここに ++
| | ----マニフェスト
| | ------ init.pp

init.pp私が持っていた中に

class cassandra ...

名前を変更gini_cassandraすると、cassandra物事が機能し始めました。

Puppet モジュールのインストールを自動化するにはどうすればよいですか?

installマスターレス セットアップではモジュールを使用する必要がないため、自動化する必要はありません。ただし、 (この回答librarian-puppetのおかげで)非常に役立つことがわかりました。外部モジュールをバージョン管理する必要はありません。Librarian は、私のマシン、インストールを実行するターゲット マシン、およびビルド マシンの両方でそれらをプルします。

于 2014-01-18T10:03:35.967 に答える
1

puppet マスターを使用している場合は、モジュールをマスターにインストールするだけで済みます。マスターが構成をコンパイルするため、クライアント マシンはそれらを必要としません。

したがって、使用したいモジュールがある場合は、マスターで「puppet module install foo」を 1 回実行するだけで十分です。

于 2014-01-16T14:10:41.980 に答える