付録A Red Hat Satellite へのカスタム設定の適用

satellite-installer を使用して初めて Satellite をインストールして設定する際には、--foreman-proxy-dns-managed=false--foreman-proxy-dhcp-managed=false のインストーラーフラグを使用することで、DNS および DHCP 設定ファイルが Puppet に管理されないようにできます。インストーラーの初回実行時のこれらのフラグを指定しない場合は、インストーラーを再実行すると手動による変更がすべて上書きされるので、アップグレードする際などに再実行できます。変更が上書きされても、復元手順を実行すると、手動での変更は復元できます。詳細は『インストールガイド』「Puppet 実行で上書きされた手動変更の復元」を参照してください。

カスタム設定に利用可能なすべてのインストーラーフラグを表示するには、satellite-installer --scenario satellite --full-help を実行します。Puppet クラスには、Satellite インストーラーに公開されていないものもあります。これらのクラスを手動で管理して、インストーラーが値を上書きしないようにするには、設定ファイル /etc/foreman-installer/custom-hiera.yaml にエントリーを追加して設定値を指定します。この設定ファイルは YAML 形式で、<puppet class>::<parameter name>: <value> という形式を 1 行あたり 1 エントリーで記入します。このファイルで指定した設定値は、インストーラーを再起動しても維持されます。

一般的な例を示します。

  • Apache で ServerTokens ディレクティブが製品名のみを返すようにするには、以下のようにします。

    apache::server_tokens: Prod
  • Apache サーバー署名をオフにするには、以下のようにします。

    apache::server_signature: Off
  • Pulp で pulp ワーカーの数を設定するには、以下のようにします。

    pulp::num_workers: 8

Satellite インストーラー用の Puppet モジュールは、/usr/share/foreman-installer/modules/usr/share/katello-installer-base/modules に保存されています。クラス、パラメーター、および値を調べるには、.pp ファイル (例: moduleName/manifests/example.pp) を確認してください。別の方法では、grep コマンドでキーワード検索を実行します。

値の設定によっては、Red Hat Satellite のパフォーマンスや機能に影響が出る意図しない結果がもたらされる場合があります。設定を適用する前に変更の影響を考慮して、実稼働以外の環境で最初に変更をテストしてください。実稼働以外の Satellite 環境がない場合は、Satellite インストーラーを --noop--verbose のオプションを追加して実行します。変更によって問題が発生する場合は、該当箇所を custom-hiera.yaml から削除し、Satellite インストーラーを再実行します。特定の値を変更することが安全かどうかを確認する場合は、Red Hat サポートにお問い合わせください。

A.1. Puppet 実行で上書きされた手動変更の復元

Puppet 実行で手動による設定が上書きされた場合でも、ファイルを元の状態に戻すことができます。以下の例では、Puppet 実行で上書きされた DHCP 設定ファイルを復元します。

  1. 復元するファイルをコピーします。こうすることで、アップグレードに必要な変更があるか、ファイル間で比較できます。これは DNS や DHCP サービスでは一般的ではありません。

    # cp /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.backup
  2. ログファイルを確認して、上書きされたファイルの md5sum をメモします。たとえば、以下のようになります。

    # journalctl -xe
    ...
    /Stage[main]/Dhcp/File[/etc/dhcp/dhcpd.conf]: Filebucketed /etc/dhcp/dhcpd.conf to puppet with sum 622d9820b8e764ab124367c68f5fa3a1
    ...
  3. 上書きされたファイルを復元します。

    # puppet filebucket restore --local --bucket \
    /var/lib/puppet/clientbucket /etc/dhcp/dhcpd.conf \ 622d9820b8e764ab124367c68f5fa3a1
  4. バックアップしたファイルと復元されたファイルを比べます。復元されたファイルに、アップグレードに必要な変更を追加します。