第3章 ホストの登録

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

  1. Satellite から curl コマンドを生成し、ホスト (数に制限なし) からこのコマンドを実行して、これらのホストをグローバル登録テンプレートを使用して登録します。この方法は、新規インストールしたホストにも、Satellite 5 や別の Satellite 6 に登録済みのホストなどにも適しています。

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

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

  2. コンシューマー RPM (server.example.com/pub/katello-ca-consumer-latest.noarch.rpm) をダウンロードしてインストールしてから、Subscription Manager を実行します。この方法は、新規インストールしたホストに適しています。
  3. ブートストラップスクリプト (server.example.com/pub/bootstrap.py) をダウンロードして実行します。この方法は、新規インストールしたホストにも、Satellite 5 や別の Satellite 6 に登録済みのホストなどにも適しています。

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

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

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

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

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

  • 5.7 以降
  • 6.1 以降*
  • 7.0 以上
  • 8.0 以降
注記

Red Hat Enterprise Linux バージョン 6.1、6.2 および 6.3 では、subscription-manager と関連のパッケージを手動で更新する必要があります。詳細は、https://access.redhat.com/solutions/1256763 を参照してください。

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

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

  • i386
  • x86_64
  • s390x
  • ppc_64

3.1. グローバル登録テンプレートを使ったホストの Red Hat Satellite への登録

以下の手順を使用して、ホストを Red Hat Satellite 6 に登録します。

この登録方法では、Satellite で curl コマンドを生成し、ホストでこのコマンドを実行することでホストを Satellite に登録できます。この方法では、ホスト登録のプロセスを完全に制御できるグローバル登録テンプレートを使用します。

前提条件

  • curl コマンドを生成する Satellite ユーザーには、create_hosts パーミッションが必要。
  • 登録するホストで root 権限がある。
  • アクティベーションキーを作成している。
  • オプション: Red Hat Insights にホストを登録する場合は、rhel-7-server-rpms リポジトリーを同期して、使用するアクティベーションキーで利用できるようにする必要があります。これは、insights-client パッケージをインストールするために必要です。

手順

  1. Satellite Web UI で、ホスト > プロビジョニングテンプレート に移動し、Linux 登録デフォルト テンプレートを検出してクリックします。
  2. 関連付け タブをクリックします。
  3. 登録するオペレーティングシステムが 選択項目 列にあることを確認します。
  4. 送信 をクリックします。
  5. ホスト > オペレーティングシステム に移動し、登録するオペレーティングシステムを選択します。
  6. テンプレート タブをクリックします。
  7. 登録テンプレート リストから、Linux 登録デフォルト が選択されていることを確認します。
  8. 送信 をクリックします。
  9. ホスト > すべてのホスト > ホストの登録 に移動します。
  10. オプション: Capsule を使用してホストを登録する場合は、この Capsule で 登録 機能が有効になっていることを確認してください。

    インフラストラクチャー > Capsules に移動して、使用する Capsule をクリックし、アクティブな機能 リストから 登録 機能を特定します。

    オプション: 登録 機能が Capsule で有効になっていない場合は、Capsule で以下のコマンドを入力して有効にします。

    # satellite-installer --foreman-proxy-registration \
    --foreman-proxy-templates \
    --foreman-proxy-template-url 'http://capsule.example.com'
  11. オプション: Host Groupリストから、ホストと関連付けるホストグループを選択します。
  12. オペレーティングシステム リストから、登録するホストのオペレーティングシステムを選択します。
  13. Capsule 一覧から、ホストの登録に使用する Capsule を選択します。外部 Capsule を使用しない場合は、内部の Capsule を選択する必要があります。
  14. Insights 一覧から、ホストを Insights に登録したいかどうかを選択します。
  15. Remote Execution リストから、Satellite SSH 鍵をホストにデプロイするかどうかを選択します。
  16. オプション: Satellite は認証に JSON Web Tokens (JWT) を使用します。このトークンの期間は、生成された curl コマンドが機能する期間を定義します。トークンの期間を変更する場合は、トークンライフタイム (時間単位) フィールドに必要な期間を入力します。期間は、時間単位で設定できます。

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

  17. オプション: リモート実行インターフェイス フィールドに、ホストが SSH 接続に使用する必要があるネットワークインターフェイスを入力します。このフィールドが空の場合、Satellite はデフォルトのネットワークインターフェイスを使用します。
  18. アクティベーションキー フィールドで、ホストに割り当てるアクティベーションキーを 1 つ以上入力します。
  19. コマンドの生成 をクリックします。
  20. 生成された curl コマンドをコピーして、ホストに入力します。
  21. 以下のいずれかの方法で、CA 証明書でホストを設定します。

    • --insecure オプションを curl コマンドに追加します。これにより、初回呼び出しは安全ではなくなりますが、この初回呼び出し時に、ホストは Satellite から CA ファイルをダウンロードします。ホストは、この CA ファイルを使用して Satellite に接続し、今後のすべての呼び出しは安全になります。

      Satellite とホスト間のネットワークに存在する攻撃者が、初回の安全ではない呼び出しから CA ファイルをフェッチする場合、攻撃者は登録したホストと JWT 間の API 呼び出しの内容にアクセスできます。そのため、登録中の SSH 鍵のデプロイを選択した場合、攻撃者は SSH 鍵を使用してホストにアクセスできます。以下は、--insecure オプションを指定した curl コマンドの例です。

      curl -X GET --insecure https://satellite.example.com/register...
    • --insecure オプションを指定して curl コマンドを呼び出す必要がない場合は、各ホストに CA ファイルを手動でコピーし、インストールできます。

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

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

      # update-ca-trust enable
      # update-ca-trust
  22. 登録するホストで、curl コマンドを root として入力します。

3.1.1. グローバル登録テンプレートおよびホスト登録テンプレートのカスタマイズ

登録プロセスをカスタマイズする場合は、本セクションの情報を使用します。

Satellite のデフォルトテンプレートはすべてロックされている点に注意してください。登録プロセスをカスタマイズする場合は、デフォルトのテンプレートのクローンを作成し、クローンを編集する必要があります。次に、管理 > 設定 > プロビジョニングデフォルトグローバル登録テンプレート 設定を変更し、カスタムのグローバル登録 テンプレートにポイントするようにします。オペレーティングシステム設定の 登録テンプレート 設定を変更し、カスタムの Linux 登録デフォルト テンプレートにポイントするようにします。

テンプレート

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

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

グローバルパラメーター

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

  • host_registration_remote_execution パラメーターは remote_execution_ssh_keys スニペットで使用されます。デフォルト値は true です。
  • host_registration_insights パラメーターは insights スニペットで使用され、デフォルト値は true です。

スニペット

remote_execution_ssh_keys スニペットは、Linux 登録デフォルト テンプレートで使用されます。これは、host_registration_remote_execution パラメーターが true に設定されている場合にのみ、ホストに SSH 鍵をデプロイします。

insights スニペットは、Linux 登録デフォルト テンプレートで使用されます。これは、グローバルパラメーター host_registration_insights が true に設定されている場合、Red Hat Insights クライアントをダウンロードおよびインストールします。

変数

この表は、Global Registration テンプレートで使用される変数について説明しています。

表3.1 グローバル登録テンプレート変数

変数コマンド引数説明

@user

none

現在の認証ユーザーオブジェクト

@organization

organization_id

organization_id が設定されていない場合は、ユーザーのデフォルトの組織が設定されているか、ユーザーの組織リストにある最初の組織が設定されます。

@location

location_id

location_id が設定されていない場合、ユーザーのデフォルトのロケーションが設定されます。または、ユーザーのロケーションリストにある最初のロケーションが設定されます。

@hostgroup

hostgroup_id

ホストのホストグループです。

@operatingsystem

operatingsystem_id

ホストのオペレーティングシステム

@setup_insights

setup_insights

登録したホストの host_registration_insights グローバルパラメーターの値を上書きし、Insights クライアントをインストールします。

@setup_remote_execution

setup_remote_execution

登録済みホストの host_registration_remote_execution グローバルパラメーターの値を上書きし、リモート実行用に SSH 鍵をデプロイします。

@remote_execution_interface

remote_execution_interface

リモート実行用に、ホストのデフォルトインターフェイスを設定します。

@activation_key

activation_key

ホストのアクティベーションキー

@registration_url

none

/register エンドポイントの URL。