一元化された構成管理:Puppet + Foreman。 パートII

これは、Puppet + Foremanバンドルに関する一連の記事の第2 であり、次の内容を取り上げます。



*ホストグループを作成する

*グループへのホストの追加

*マニフェストをホストのグループに適用する

*自動署名された証明書

*グループ内のホストの自動配布





ホストグループを作成するには、Foremanに移動し、メニューで[設定]-[ホストグループ]-[新しいホストグループ]を選択します。新しいホストの設定を含むページがあります。 ここで、グループの親を選択できます(つまり、グループの添付ファイルを作成できることがわかります)、名前(この場合はBobrovka)、環境、証明機関、およびマスターサーバー、Puppetサーバーを選択します。





グループに適用されるマニフェストをすぐに追加する場合-「Puppet Classes」タブに移動します-すべてが単一のクライアントにマニフェストを適用する場合と同じで、マニフェストのみがグループ内のすべてのホストに適用されます。 変更を確認します。





ここで、「設定」-ノードグループに移動すると、グループのリストが表示されます。





既存のホストを特定のグループに追加するには、「サイト」-「すべてのサイト」に移動し、必要なノードの名前をクリックして(ノードに関する詳細情報が開きます)、「変更」ボタンをクリックし、「グループ」フィールドで必要なグループを選択します。 変更を確認します。





グループに必要なホストを追加したら、それらのマニフェストを追加できます(グループの作成時にこれを行わなかった場合)。 既存のグループにマニフェストを追加するには、[設定]-[ホストグループ]に移動し、必要なグループの名前をクリックして、3段落前に説明した手順を繰り返します。



だから-たくさんのPuppet + Foremanを備えた稼働中のサーバーがありますが、Puppetに新しいホストを追加したい場合は、Webインターフェースまたはコンソールで毎回証明書に署名する必要があります(面倒です)。 証明書が自動的に署名されるようにするには、クライアントの名前に基づいて証明書に自動的に署名する機能を使用できます。 これを行うには、[インフラストラクチャ]-[スマートプロキシ]メニューの[証明書]をクリックし、右上の[エントリの自動署名]をクリックして、新しいエントリを作成します。 名前が書かれているフィールドに-*を書き込んで保存します。





その結果、すべてのクライアント証明書は例外なく署名されますが、これはあまり良くありません(初心者には適しています)。 すべての証明書ではなく、たとえばWebサーバーからの証明書のみに署名するには、エントリをwebに変更する必要があります-*(すべてのWebサーバーがwww-1.domain.name、www-n.domain.nameのような名前の場合に機能します)。



新しく作成されたホストをグループに自動的に配布するには、foreman_default_hostgroupプラグインを使用できます。 このプラグインを使用すると、事実に基づいてホストをグループに分散できます。

プラグインをインストールするには、 apt-get install ruby​​-foreman-default-hostgroupコマンドを実行する必要があります

プラグインがインストールされている場合、[モジュール]タブの[管理者]-[バージョン情報]メニューに表示されます(Foremanの再起動が必要な場合があります)





インストール後、ディレクトリ/usr/share/foreman/config/settings.plugins.d/default_hostgroup.yamlのファイルを編集する必要があります



default_hostgroup.yaml
-:default_hostgroup:

:facts_map:

「ボブロフカ」:

IPアドレス:10.10。*

「ロソフカ」:

IPアドレス:10.110.0。*

「Medvedka」:

IPアドレス:10.210.0。*

「デフォルト」:

「ホスト名」:「。*」



プラグインから私の設定を使用する場合、クライアントIPアドレスに基づいてグループに分類されます。 この例では、クライアントがIP 10.10.55.12を持っている場合-彼はアドレス10.210.138.7を持っている場合、彼はBobrovkaグループに分類されます-クライアントのIPアドレスが条件のいずれにも該当しない場合、Medvedkaグループに分類されます- 「デフォルト」グループに分類されます。 プラグインは設定を上から下に読み取ります。そのため、絶対にすべてのIPアドレスがその基準に該当するため、「デフォルト」グループが一番下にあります。



これで私の出版物の第2部は終わりです。

私たちの仕事の結果は、自動的に証明書に署名し、事実に基づいてホストをグループに配布する機能を持つPuppet + Foremanです。



使用されるリソース:

docs.puppetlabs.com/puppet/latest/reference/config_file_autosign.html

github.com/GregSutcliffe/foreman_default_hostgroup



All Articles