第3章 Satellite へのホストの登録

Satellite Server または Capsule Server にホストを登録する方法は、主に 3 つあります。

  1. (デフォルトの方法) Satellite から curl コマンドを生成し、ホスト (数に制限なし) からこのコマンドを実行して、これらのホストをグローバル登録テンプレートを使用して登録します。この方法は、Satellite にまだ登録されていないホストに適しています。

    この方法を使うと、Satellite への登録時に Satellite SSH 鍵をホストにデプロイし、リモート実行ジョブのホストを有効にすることもできます。リモート実行ジョブの詳細は、リモートジョブの設定とセットアップ を参照してください。

    この方法を使うと、Satellite への登録時に Red Hat Insights でホストを設定することもできます。Satellite ホストと Insights を使用する方法は、Red Hat Insights を使用したホストの管理 を参照してください。

  2. (非推奨) コンシューマー RPM (satellite.example.com/pub/katello-ca-consumer-latest.noarch.rpm) をダウンロードしてインストールしてから、Subscription Manager を実行します。この方法は、Satellite を介してプロビジョニングされていないホストに適しています。
  3. (非推奨) ブートストラップスクリプト (satellite.example.com/pub/bootstrap.py) をダウンロードして実行します。この方法は、Satellite を介してプロビジョニングされていないホストに適しています。

Atomic Host を Satellite Server または Capsule Server に登録することもできます。

次のいずれかの手順を使用して、ホストを登録します。

以下の手順を使用して、ホストツールをインストールして設定します。

ホストでサポート対象のオペレーティングシステム

ホストは、以下の Red Hat Enterprise Linux バージョンのいずれかを使用する必要があります。

資格ベースのサブスクリプションモデルは非推奨となり、将来のリリースで削除される予定であることに注意してください。Red Hat では、代わりに Simple Content Access のアクセスベースのサブスクリプションモデルを使用することを推奨します。

サポートされるアーキテクチャー

Red Hat Enterprise Linux のすべてのアーキテクチャーがサポートされます。

  • i386
  • x86_64
  • s390x
  • ppc_64

3.1. ホストの登録

Satellite で curl コマンドを生成し、ホストでこのコマンドを実行することで、ホストを Satellite に登録できます。この方法では、global registration テンプレートと host initial configuration という 2 つのテンプレートを使用します。これにより、ホスト登録プロセスを完全に制御できます。Administer > Settings に移動し、Provisioning タブをクリックすると、デフォルトのテンプレートを設定できます。

前提条件

  • curl コマンドを生成する Satellite ユーザーには、create_hosts パーミッションが必要。
  • 登録するホストで root 権限がある。
  • Satellite Server、Capsule Server、およびすべてのホストを同じ NTP サーバーと同期し、時間同期ツールを有効にして実行しておく。
  • rhsmcertd デーモンをホストで実行しておく。
  • ホストのアクティベーションキーがある。詳細は、コンテンツの管理 アクティベーションキーの管理 を参照してください。
  • オプション: ホストを 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 の設定 を参照してください。

手順

  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 として実行します。