第3章 Satellite へのホストの登録
Satellite Server または Capsule Server にホストを登録する方法は、主に 3 つあります。
(デフォルトの方法) Satellite から
curlコマンドを生成し、ホスト (数に制限なし) からこのコマンドを実行して、これらのホストをグローバル登録テンプレートを使用して登録します。この方法は、Satellite にまだ登録されていないホストに適しています。この方法を使うと、Satellite への登録時に Satellite SSH 鍵をホストにデプロイし、リモート実行ジョブのホストを有効にすることもできます。リモート実行ジョブの詳細は、リモートジョブの設定とセットアップ を参照してください。
この方法を使うと、Satellite への登録時に Red Hat Insights でホストを設定することもできます。Satellite ホストと Insights を使用する方法は、Red Hat Insights を使用したホストの管理 を参照してください。
-
(非推奨) コンシューマー RPM (
satellite.example.com/pub/katello-ca-consumer-latest.noarch.rpm) をダウンロードしてインストールしてから、Subscription Manager を実行します。この方法は、Satellite を介してプロビジョニングされていないホストに適しています。 -
(非推奨) ブートストラップスクリプト (
satellite.example.com/pub/bootstrap.py) をダウンロードして実行します。この方法は、Satellite を介してプロビジョニングされていないホストに適しています。
Atomic Host を Satellite Server または Capsule Server に登録することもできます。
次のいずれかの手順を使用して、ホストを登録します。
以下の手順を使用して、ホストツールをインストールして設定します。
ホストでサポート対象のオペレーティングシステム
ホストは、以下の Red Hat Enterprise Linux バージョンのいずれかを使用する必要があります。
- 9.0 以降
- 8.0 以降
- 16.1 以降
- 6 ( ELS アドオン使用)
資格ベースのサブスクリプションモデルは非推奨となり、将来のリリースで削除される予定であることに注意してください。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 権限がある。
- アクティベーションキーを作成している。
-
オプション: Red Hat Insights にホストを登録する場合は、
rhel-7-server-rpmsリポジトリーを同期して、使用するアクティベーションキーで利用できるようにする必要があります。これは、insights-clientパッケージをインストールするために必要です。 - Satellite Server、Capsule Server、およびすべてのホストを同じ NTP サーバーと同期し、時間同期ツールを有効にして実行しておく。
- rhsmcertd デーモンをホストで実行しておく。
- ホストのアクティベーションキーがある。詳細は、コンテンツ管理ガイド の アクティベーションキーの管理 を参照してください。
- バージョンが 1.10 以降の Subscription Manager を使用している。パッケージは標準の Red Hat Enterprise Linux リポジトリーで入手可能です。
- Satellite Server の代わりに Capsule Server を使用する場合は、Capsule Server が適切に設定されていることを確認してください。詳細は、Capsule Server のインストール の ホスト登録およびプロビジョニングのための Capsule の設定 を参照してください。
手順
- Satellite Web UI で、Hosts > Register Host に移動します。
- オプション: 別の Organization を選択します。
- オプション: 別の Location を選択します。
- オプション: Host Groupリストから、ホストと関連付けるホストグループを選択します。Host group からの値を継承するフィールド: Operating system、Activation Keys、Lifecycle environment。
- オプション: Operating system リストから、登録するホストのオペレーティングシステムを選択します。
- オプション: Capsule 一覧から、ホストの登録に使用する Capsule を選択します。
オプション: 最初の呼び出しを非セキュアにする場合は、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 ...
- Advanced タブを選択します。
Setup REX リストから、Satellite SSH 鍵をホストにデプロイするかどうかを選択します。
Yesに設定すると、パブリック SSH キーが登録済みホストにインストールされます。継承された値はhost_registration_remote_executionパラメーターに基づいています。たとえば、ホストグループ、オペレーティングシステム、または組織から継承できます。上書きされると、選択した値がホストパラメーターレベルに保存されます。Setup Insights l 一覧から、
insights-clientをインストールして、ホストを Insights に登録したいかどうかを選択します。Insights ツールは、Red Hat Enterprise Linux でのみ利用できます。他のオペレーティングシステムには影響ありません。
登録されたマシンで以下のリポジトリーを有効にする必要があります。
-
RHEL 6:
rhel-6-server-rpms -
RHEL 7:
rhel-7-server-rpms RHEL 8:
rhel-8-for-x86_64-appstream-rpmsinsights-clientパッケージは、RHEL 8 が最小インストールオプションでデプロイされた環境を除いて、デフォルトで RHEL 8 にインストールされます。
-
RHEL 6:
-
オプション: Install packages フィールドに、登録時にホストにインストールするパッケージを (スペースで区切って) リストします。これは、
host_packagesパラメーターで設定できます。 -
オプション: 登録時にホスト上のすべてのパッケージを更新するには、Update packages オプションを選択します。これは、
host_update_packagesパラメーターで設定できます。 -
オプション: Repository フィールドに、登録を実行する前に追加するリポジトリーを入力します。たとえば、登録の目的で
subscription-managerパッケージを利用できるようにすると便利です。Red Hat ファミリーのディストリビューションの場合、リポジトリーの URL を入力します (例::http://rpm.example.com/)。 - オプション: Repository GPG key URL フィールドで、公開鍵を指定して、GPG 署名付きパッケージの署名を確認します。GPG 公開鍵ヘッダーを持つ ASCII 形式で指定する必要があります。
オプション: Token lifetime (hours) フィールドで、Satellite が認証に使用する JSON Web トークン (JWT) の有効期間を変更します。このトークンの期間は、生成された
curlコマンドが機能する期間を定義します。期間は、0 - 999 999 時間または無制限に設定できます。Satellite は、ホストの認証に
curlコマンドを生成するユーザーのパーミッションを適用する点に注意してください。ユーザーが追加のパーミッションを失ったり取得したりすると、JWT のパーミッションも変わってきます。そのため、トークン期間中にユーザーのパーミッションを削除、ブロック、または変更しないでください。JWT の範囲は登録エンドポイントのみに制限されているため、その他の場所では使用できません。
- オプション: リモート実行インターフェイス フィールドに、ホストが SSH 接続に使用する必要があるネットワークインターフェイスの識別子を入力します。このフィールドが空の場合、Satellite はデフォルトのネットワークインターフェイスを使用します。
- Activation Keys フィールドで、ホストに割り当てるアクティベーションキーを 1 つ以上入力します。
- オプション: Lifecycle environment を選択します。
- オプション: サブスクリプションマネージャーのエラーを無視する場合は、Ignore errors オプションを選択します。
-
オプション: 登録前に
katello-ca-consumerrpm を削除し、--force引数でsubscription-managerを実行する場合は、Force オプションを選択します。 - Generate ボタンをクリックします。
-
生成された
curlコマンドをコピーします。 -
登録するホストで、
curlコマンドをrootとして実行します。
Red Hat Enterprise Linux 6.3 ホストの場合には、リリースバージョンはデフォルトで Red Hat Enterprise Linux 6 Server になり、6.3 リポジトリーを指定する必要があります。
- Satellite Web UI で、Hosts > Content Hosts に移動します。
- 変更が必要なホストの横にあるチェックボックスを選択します。
- アクションの選択 リストから リリースバージョンの設定 を選択します。
- リリースバージョン リストから 6.3 を選択します。
- Done をクリックします。