3.3. グローバル登録を使用したホストの登録

Satellite で curl コマンドを生成し、ホストでこのコマンドを実行することで、ホストを Satellite に登録できます。この方法では、グローバル登録 テンプレートと Linux host_init_config default テンプレートの 2 つのプロビジョニングテンプレートを使用します。これにより、ホスト登録プロセスを完全に制御できます。

より高い柔軟性が必要な場合は、デフォルトのテンプレートをカスタマイズすることもできます。詳細は、「登録テンプレートのカスタマイズ」 を参照してください。

3.3.1. 登録用のグローバルパラメーター

以下のグローバルパラメーターを設定するには、設定 > グローバルパラメーター に移動します。

  • host_registration_insights パラメーターは、insights スニペットで使用されます。このパラメーターが true に設定されていると、登録時にホストに Red Hat Insights クライアントがインストールされ、有効になります。このパラメーターが false に設定されていると、Satellite と Red Hat Insights クライアントがインベントリーレポートを Red Hat Hybrid Cloud Console にアップロードできなくなります。デフォルト値は true です。パラメーター値をオーバーライドする場合は、パラメーターのタイプを boolean に設定します。
  • host_packages パラメーターは、ホストにパッケージをインストールするためのものです。
  • host_registration_remote_execution パラメーターは、remote_execution_ssh_keys スニペットで使用されます。このパラメータが true に設定されていると、登録によりホストでリモート実行が有効になります。デフォルト値は true です。
  • remote_execution_ssh_keysremote_execution_ssh_userremote_execution_create_userremote_execution_effective_user_method パラメーターは remote_execution_ssh_keys スニペットで使用されます。詳細は、スニペットを参照してください。

Hosts > Templates > Provisioning Templatesで、Satellite Web UI の スニペットに移動できます。

3.3.2. ホストの登録

登録テンプレートを使用してホストを登録し、登録プロセス中にさまざまなインテグレーション機能とホストツールを設定できます。

前提条件

  • ユーザーアカウントに create_hosts 権限を持つロールが割り当てられている。
  • 登録するホストで root 権限がある。
  • Satellite Server、Capsule Server、およびすべてのホストを同じ NTP サーバーと同期し、時間同期ツールを有効にして実行しておく。
  • ホストのアクティベーションキーがある。詳細は、コンテンツの管理 アクティベーションキーの管理 を参照してください。
  • オプション: ホストを Red Hat Insights に登録する場合は、rhel-8-for-x86_64-baseos-rpms リポジトリーと rhel-8-for-x86_64-appstream-rpms リポジトリーを同期し、アクティベーションキーで使用できるようにする必要があります。これは、insights-client パッケージをインストールするために必要です。
  • Satellite Server の代わりに Capsule Server を使用する場合は、Capsule Server が適切に設定されていることを確認してください。詳細は、Capsule Server のインストールホスト登録およびプロビジョニングのための Capsule の設定 を参照してください。
  • Satellite Server または Capsule Server が HTTP プロキシーの背後にある場合は、接続に HTTP プロキシーを使用するようにホストでサブスクリプションマネージャーを設定します。詳細は、Red Hat ナレッジベースHow to access Red Hat Subscription Manager (RHSM) through a firewall or proxy を参照してください。

手順

  1. Satellite Web UI で、Hosts > Register Host に移動します。
  2. オプション: 別の Organization を選択します。
  3. オプション: 別の Location を選択します。
  4. オプション: Host Groupリストから、ホストと関連付けるホストグループを選択します。Host group からの値を継承するフィールド: Operating systemActivation KeysLifecycle environment
  5. オプション: Operating system リストから、登録するホストのオペレーティングシステムを選択します。
  6. オプション: Capsule リストから、ホストの登録に使用する Capsule を選択します。
  7. オプション: 最初の呼び出しを非セキュアにする場合は、Insecure オプションを選択します。この最初の呼び出し中に、ホストは Satellite から CA ファイルをダウンロードします。ホストは、この CA ファイルを使用して Satellite に接続し、今後のすべての呼び出しは安全になります。

    Red Hat は、セキュアでない呼び出しを回避することを推奨します。

    Satellite とホスト間のネットワークに存在する攻撃者が、初回の安全ではない呼び出しから CA ファイルをフェッチする場合、攻撃者は登録したホストと JSON Web Tokens (JWT) 間の API 呼び出しの内容にアクセスできます。そのため、登録中の SSH キーのデプロイを選択した場合、攻撃者は SSH キーを使用してホストにアクセスできます。

    代わりに、ホストを登録する前に、各ホストに手動で CA ファイルをコピーしてインストールできます。

    そのためには、Administer > Settings > Authentication に移動し、SSL CA file 設定を特定することで、Satellite が CA ファイルを保存する場所を検出します。

    CA ファイルをホストの /etc/pki/ca-trust/source/anchors/ ディレクトリーにコピーし、以下のコマンドを入力します。

    # update-ca-trust enable
    # update-ca-trust

    次に、以下のようなセキュアな curl コマンドを使用してホストを登録します。

    # curl -sS https://satellite.example.com/register ...

    以下は、--insecure オプションを指定した curl コマンドの例です。

    # curl -sS --insecure https://satellite.example.com/register ...
  8. Advanced タブを選択します。
  9. Setup REX リストから、Satellite SSH 鍵をホストにデプロイするかどうかを選択します。

    Yes に設定すると、パブリック SSH キーが登録済みホストにインストールされます。継承された値は host_registration_remote_execution パラメーターに基づいています。たとえば、ホストグループ、オペレーティングシステム、または組織から継承できます。上書きされると、選択した値がホストパラメーターレベルに保存されます。

  10. Setup Insights l リストから、insights-client をインストールして、ホストを Insights に登録したいかどうかを選択します。

    Insights ツールは、Red Hat Enterprise Linux でのみ利用できます。他のオペレーティングシステムには影響ありません。

    登録されたマシンで以下のリポジトリーを有効にする必要があります。

    • Red Hat Enterprise Linux 6: rhel-6-server-rpms
    • Red Hat Enterprise Linux 7: rhel-7-server-rpms
    • Red Hat Enterprise Linux 8: rhel-8-for-x86_64-appstream-rpms

      Insights-client パッケージは、Red Hat Enterprise Linux 8 が最小インストールオプションでデプロイされた環境を除き、デフォルトで Red Hat Enterprise Linux 8 にインストールされます。

  11. オプション: Install packages フィールドに、登録時にホストにインストールするパッケージを (スペースで区切って) リストします。これは、host_packages パラメーターで設定できます。
  12. オプション: 登録時にホスト上のすべてのパッケージを更新するには、Update packages オプションを選択します。これは、host_update_packages パラメーターで設定できます。
  13. オプション: Repository フィールドに、登録を実行する前に追加するリポジトリーを入力します。たとえば、登録の目的で subscription-manager パッケージを利用できるようにすると便利です。Red Hat ファミリーのディストリビューションの場合、リポジトリーの URL を入力します (例: :http://rpm.example.com/)。
  14. オプション: Repository GPG key URL フィールドで、公開鍵を指定して、GPG 署名付きパッケージの署名を確認します。GPG 公開鍵ヘッダーを持つ ASCII 形式で指定する必要があります。
  15. オプション: Token lifetime (hours) フィールドで、Satellite が認証に使用する JSON Web トークン (JWT) の有効期間を変更します。このトークンの期間は、生成された curl コマンドが機能する期間を定義します。期間は、0 - 999 999 時間または無制限に設定できます。

    Satellite は、ホストの認証に curl コマンドを生成するユーザーのパーミッションを適用する点に注意してください。ユーザーが追加のパーミッションを失ったり取得したりすると、JWT のパーミッションも変わってきます。そのため、トークン期間中にユーザーのパーミッションを削除、ブロック、または変更しないでください。

    JWT の範囲は登録エンドポイントのみに制限されているため、その他の場所では使用できません。

  16. オプション: リモート実行インターフェイス フィールドに、ホストが SSH 接続に使用する必要があるネットワークインターフェイスの識別子を入力します。このフィールドが空の場合、Satellite はデフォルトのネットワークインターフェイスを使用します。
  17. REX プルモード リストから、Satellite リモート実行プルクライアントをデプロイするかどうかを選択します。

    Yes に設定すると、リモート実行のプルクライアントは登録されたホストにインストールされます。継承された値は host_registration_remote_execution_pull パラメーターに基づいています。たとえば、ホストグループ、オペレーティングシステム、または組織から継承できます。上書きされると、選択した値はホストパラメーターレベルに保存されます。

    登録したホストは、Red Hat Satellite Client 6 リポジトリーにアクセスできる必要があります。

    プルモードの詳細は、「リモート実行用のトランスポートモード」 を参照してください。

  18. Activation Keys フィールドで、ホストに割り当てるアクティベーションキーを 1 つ以上入力します。
  19. オプション: Lifecycle environment を選択します。
  20. オプション: サブスクリプションマネージャーのエラーを無視する場合は、Ignore errors オプションを選択します。
  21. オプション: 登録前に katello-ca-consumer rpm を削除し、--force 引数で subscription-manager を実行する場合は、Force オプションを選択します。
  22. Generate ボタンをクリックします。
  23. 生成された curl コマンドをコピーします。
  24. 登録するホストで、curl コマンドを root として実行します。

3.3.3. 登録テンプレートのカスタマイズ

プロビジョニングテンプレートを編集することで、登録プロセスをカスタマイズできます。Satellite のデフォルトテンプレートはすべてロックされている点に注意してください。登録テンプレートをカスタマイズする場合は、デフォルトのテンプレートのクローンを作成し、クローンを編集する必要があります。

注記

Red Hat がサポートするのは、編集されていないオリジナルのテンプレートのみです。カスタマイズされたテンプレートは、Red Hat がリリースした更新を受け取りません。

登録プロセスでは、以下のプロビジョニングテンプレートを使用します。

  • グローバル登録 テンプレートには、ホストを Satellite に登録するための手順が含まれています。このテンプレートは、ホストが /register Satellite API エンドポイントにアクセスするとレンダリングされます。
  • Linux host_init_config default テンプレートには、登録後にホストの初期設定を行う手順が含まれます。

手順

  1. Hosts > Templates > Provisioning Templates に移動します。
  2. 編集するテンプレートを検索します。
  3. 必要なテンプレートの行で、Clone をクリックします。
  4. 必要に応じてテンプレートを編集します。詳細は、付録A テンプレート作成の参照 を参照してください。
  5. Submit をクリックします。
  6. Administer > Settings > Provisioning に移動します。
  7. 必要に応じて次の設定を変更します。

    • Default Global registration template の設定で、カスタムのグローバル登録テンプレートを指定します。
    • Default 'Host initial configuration' template の設定で、カスタムの初期設定テンプレートを指定します。