3.8. パラメーター
Red Hat Satellite パラメーターは、ホストのプロビジョニング時に使用するキーと値のペアを定義します。これらは、Puppet のデフォルトのスコープパラメーターの概念に似ています。Puppet でホストを設定する際にパラメーターを定義することができます。
パラメーターのタイプ
Red Hat Satellite には 2 種類のパラメーターがあります。
- 単純パラメーター
- キーと値のペアとの関係を定義する文字列パラメーターです。ユーザー設定で上書きすることはできませんが、Satellite のパラメーター階層に従って上書きされます。グローバル、組織レベル、ロケーションレベル、ドメインレベル、サブネットレベル、オペレーティングシステムレベル、ホストグループ、およびホストのパラメーターは、Red Hat Satellite の単純なパラメーターです。
- スマートクラスパラメーター
- キーの値を定義するだけではなく、特定のオブジェクトタイプの条件付き引数、検証および上書きを可能にする複雑なパラメーターです。スマートクラスパラメーターを使用すると、Puppet クラスで外部データを取得できるようになります。これらは Puppet クラスで使用され、Puppet 用語でパラメーター化されたクラスと呼ばれます。これらのパラメーターの階層は Web UI で設定できます。
以下のパラメーター階層は単純なパラメーターに対して適用されます。
- グローバルパラメーター
Satellite のすべてのホストに適用されるデフォルトのパラメーター。設定 > グローバルパラメーター で設定されます。Hammer CLI を使用してグローバルパラメーターを設定するには、以下のコマンドを入力します。
# hammer global-parameter set --name parameter_name --value parameter_value
- 組織レベルのパラメーター
特定の組織の全ホストに影響するパラメーター。組織レベルのパラメーターは、グローバルパラメーターを上書きします。管理 > 組織 > 編集 > パラメーター で設定されます。Hammer CLI を使用して組織レベルのパラメーターを設定するには、以下のコマンドを入力します。
# hammer organization set-parameter --organization "Your Organization" \ --name parameter_name --value parameter_value
- ロケーションレベルのパラメーター
指定の場所内の全ホストに影響するパラメーター。ロケーションレベルのパラメーターは、組織レベルのパラメーターおよびグローバルパラメーターを上書きします。管理 > ロケーション > 編集 > パラメーター で設定されます。Hammer CLI を使用してロケーションレベルのパラメーターを設定するには、以下のコマンドを入力します。
# hammer location set-parameter --location "Your_Location" \ --name parameter_name --value parameter_value
- ドメインパラメーター
指定のドメインのすべてのホストに影響するパラメーター。ドメインパラメーターは、ロケーションレベル以上のパラメーターを上書きします。インフラストラクチャー > ドメイン > [choose_a_domain] > パラメーター で設定されます。Hammer CLI を使用してドメインパラメーターを設定するには、以下のコマンドを入力します。
# hammer domain set-parameter --domain domain_name \ --name parameter_name --value parameter_value
- サブネットパラメーター
特定のサブネットにプライマリーインターフェースを持つすべてのホストに影響するパラメーター。サブネットパラメーターは、ホストグループのシステムレベル以上のパラメーターを上書きします。インフラストラクチャー > サブネット > [choose_a_subnet] > パラメーター で設定されます。Hammer CLI を使用してサブネットパラメーターを設定するには、以下のコマンドを入力します。
# hammer subnet set-parameter --subnet subnet_name \ --name parameter_name --value parameter_value
- オペレーティングシステムレベルのパラメーター
指定したオペレーティングシステムを持つすべてのホストに影響するパラメーター。オペレーティングシステムレベルのパラメーターは、ドメイン以上のパラメーターを上書きします。ホスト > オペレーティングシステム > [choose_an_operating_system] > パラメーター で設定されます。Hammer CLI を使用してオペレーティングシステムのパラメーターを設定するには、以下のコマンドを入力します。
# hammer os set-parameter --operatingsystem os_name \ --name parameter_name --value parameter_value
- ホストグループパラメーター
指定のホストグループ内の全ホストに影響するパラメーター。ホストグループのパラメーターは、オペレーティングシステムレベル以上のパラメーターを上書きします。設定 > ホストグループ > [choose_a_host_group] > パラメーター で設定されます。Hammer CLI を使用してホストグループのパラメーターを設定するには、以下のコマンドを入力します。
# hammer hostgroup set-parameter --hostgroup hostgroup_name \ --name parameter_name --value parameter_value
- ホストパラメーター
特定のホストに影響するパラメーター。以前に継承したパラメーターはすべてパラメーターサブタブに表示され、上書きすることができます。ホスト > すべてのホスト > 編集 > パラメーター で設定されます。Hammer CLI を使用してホストパラメーターを設定するには、以下のコマンドを入力します。
# hammer host set-parameter --host host_name \ --name parameter_name --value parameter_value
パラメーターと Puppet クラスの使用
Red Hat Satellite では、Puppet クラスで使用するために 2 つの方法でホストの Puppet マスターに値を指定することができます。
- スマート変数
- スマートクラスパラメーターを持たないクラス用に、グローバルパラメーターを Puppet マスターにキーと値の形式で提供するためのツールです。Puppet マニフェストのパラメーター値の上書きを有効にします。これらは、クラスにスマートクラスパラメーターがない場合や、グローバルパラメーターを必要とする特別なケースにおける使用を目的としています。これらは、階層コンテキストまたはユーザーが適用できるさまざまな条件に応じて、複数の値の候補を持つことができます。これらは、Puppet がパラメータ化されたクラスを持つ前から存在していたもので、現在は後方互換性を保つため、または検証が必要なグローバルパラメータの使用のため、特定のパペットクラスでのみ使用するため、および文字列以外のタイプのために(それ以外の場合は単純なパラメーターを使用できます)。
- パラメーター化クラス
-
スマートクラスパラメーターを含む Puppet クラス。クラスは Puppet マスターからインポートされ、パラメーター名 (例
$::name
(推奨) または$name
) は、クラスを作成した人によって定義され、変更することはできません。グローバルではなく、特定のクラスの変数の値を決定できます。
設定したパラメーターは各ホストの対応する YAML ファイルに含まれ、Puppet マスターに送信されます。YAML ファイルは、特定のホストのページにある Web UI で表示できます。/etc/foreman/settings.yaml
設定ファイルは、次に satellite-installer
コマンドを実行する際に上書きされるため、手動で変更しないでください。
Satellite 6 では、パラメーター化されたクラスサポートがデフォルトで有効になっています。有効になっていることを確認するには、管理 > 設定 に移動して Puppet タブを選択し、ENC のパラメーター化されたクラス が True に設定されていることを確認します。