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_keys
、remote_execution_ssh_user
、remote_execution_create_user
、remote_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 を参照してください。
手順
- 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 でのみ利用できます。他のオペレーティングシステムには影響ありません。
登録されたマシンで以下のリポジトリーを有効にする必要があります。
-
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 にインストールされます。
-
Red Hat Enterprise Linux 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 はデフォルトのネットワークインターフェイスを使用します。
REX プルモード リストから、Satellite リモート実行プルクライアントをデプロイするかどうかを選択します。
Yes
に設定すると、リモート実行のプルクライアントは登録されたホストにインストールされます。継承された値はhost_registration_remote_execution_pull
パラメーターに基づいています。たとえば、ホストグループ、オペレーティングシステム、または組織から継承できます。上書きされると、選択した値はホストパラメーターレベルに保存されます。登録したホストは、Red Hat Satellite Client 6 リポジトリーにアクセスできる必要があります。
プルモードの詳細は、「リモート実行用のトランスポートモード」 を参照してください。
- Activation Keys フィールドで、ホストに割り当てるアクティベーションキーを 1 つ以上入力します。
- オプション: Lifecycle environment を選択します。
- オプション: サブスクリプションマネージャーのエラーを無視する場合は、Ignore errors オプションを選択します。
-
オプション: 登録前に
katello-ca-consumer
rpm を削除し、--force
引数でsubscription-manager
を実行する場合は、Force オプションを選択します。 - Generate ボタンをクリックします。
-
生成された
curl
コマンドをコピーします。 -
登録するホストで、
curl
コマンドをroot
として実行します。
3.3.3. 登録テンプレートのカスタマイズ
プロビジョニングテンプレートを編集することで、登録プロセスをカスタマイズできます。Satellite のデフォルトテンプレートはすべてロックされている点に注意してください。登録テンプレートをカスタマイズする場合は、デフォルトのテンプレートのクローンを作成し、クローンを編集する必要があります。
Red Hat がサポートするのは、編集されていないオリジナルのテンプレートのみです。カスタマイズされたテンプレートは、Red Hat がリリースした更新を受け取りません。
登録プロセスでは、以下のプロビジョニングテンプレートを使用します。
-
グローバル登録 テンプレートには、ホストを Satellite に登録するための手順が含まれています。このテンプレートは、ホストが
/register
Satellite API エンドポイントにアクセスするとレンダリングされます。 - Linux host_init_config default テンプレートには、登録後にホストの初期設定を行う手順が含まれます。
手順
- Hosts > Templates > Provisioning Templates に移動します。
- 編集するテンプレートを検索します。
- 必要なテンプレートの行で、Clone をクリックします。
- 必要に応じてテンプレートを編集します。詳細は、付録A テンプレート作成の参照 を参照してください。
- Submit をクリックします。
- Administer > Settings > Provisioning に移動します。
必要に応じて次の設定を変更します。
- Default Global registration template の設定で、カスタムのグローバル登録テンプレートを指定します。
- Default 'Host initial configuration' template の設定で、カスタムの初期設定テンプレートを指定します。