インストールおよび管理ガイド
要件のリスト、ノードのセットアップ、ストレージの設定、RHUI 5 のインストール
概要
第1章 RHUI 5 について リンクのコピーリンクがクリップボードにコピーされました!
1.1. Red Hat Update Infrastructure 5 について リンクのコピーリンクがクリップボードにコピーされました!
RHUI 5 は、リポジトリーとコンテンツを管理できる、拡張性と冗長性に優れたフレームワークです。また、クラウドプロバイダーが RHUI インスタンスにコンテンツやアップデートを配信することも可能になります。RHUI は、アップストリームの Pulp プロジェクトに基づいて、クラウドプロバイダーが Red Hat がホストするリポジトリーコンテンツをローカルでミラーリングし、独自のコンテンツでカスタムリポジトリーを作成し、負荷分散したコンテンツ配信システムを使用して多数のエンドユーザーがこれらのリポジトリーを使用できるようにします。
システム管理者として、Red Hat Update Appliance (RHUA)、コンテンツ配信サーバー (CDS)、リポジトリー、共有ストレージ、ロードバランシングをインストールおよび設定することで、Red Hat Certified Cloud and Service Provider プログラム への参加に向けてインフラストラクチャーを準備できます。
RHUI の設定は、以下のタスクで構成されます。
- Red Hat リポジトリーの追加、有効化、同期
- クライアントエンタイトルメント証明書およびクライアント設定 RPM の作成
- RHUI サーバーのクライアントプロファイルの作成
対象となるのは、経験豊富な RHEL システム管理者です。RHEL に関するスキルが限られているシステム管理者は、Red Hat コンサルティングに依頼して、Red Hat 認定クラウドプロバイダーアーキテクチャーサービスの提供を受けることを検討すべきです。
RHUI の設定、管理、および更新について、以下のトピックでご紹介します。
- RHUI コンポーネント
- コンテンツプロバイダーのタイプ
- コンポーネントの管理に使用するコマンドラインインターフェイス (CLI)
- ユーティリティーコマンド
- 証明書の管理
- コンテンツ管理
CDS ノードは RHUI クライアントにコンテンツを提供します。
コンテンツ配信サーバー (CDS) 管理画面を使用すると、CDS ノードのリスト表示、追加、削除、および再インストールを行うことができます。
1.2. RHUI 4 インストーラーと RHUI 5 の顕著な違い リンクのコピーリンクがクリップボードにコピーされました!
RHUI 5 インストーラーは、基本的に RHUI 4 と同じ Ansible Playbook を維持していますが、以前のバージョンのインストーラーと比較すると外観が異なります。
- コンテナーを実行できる RHEL ホストであれば、どのホストからでもコンテナーイメージランタイムとして起動できます。
-
RHUA イメージをデプロイするには
--target-hostが必要です。これを、インストーラー自体を実行しているマシンに RHUA をインストールするインストーラーの現在の動作と比較してください。 -
インストールには
--target-host オプションが必要です。 -
ユーザーが提供する証明書ファイルを渡すには、インストーラーにいくつかの追加のコマンドライン引数を指定する必要があります。たとえば、
-v podmanオプションを使用してボリュームマウントを指定できます。 - パラメーターのデフォルト割り当てロジックが改善されました。
1.3. RHUI 5 コンポーネント リンクのコピーリンクがクリップボードにコピーされました!
RHUI の各コンポーネントが他のコンポーネントとどのように相互作用するかを理解することで、システム管理者としての仕事が少し楽になります。
1.3.1. Red Hat Update Appliance リンクのコピーリンクがクリップボードにコピーされました!
RHUI インストールごとに RHUA がありますが、多くのクラウド環境では、リージョンまたはデータセンターごとに RHUI インストールがあります。たとえば、Amazon の EC2 クラウドは複数のリージョンで構成されています。すべてのリージョンでは、独自の RHUA ノードを持つ個別の RHUI が設定されています。
RHUA では、以下の作業を行うことができます。
- Red Hat コンテンツ配信ネットワーク (CDN) から新しいパッケージをダウンロードします。
- 共有ネットワークストレージに新しいパッケージをコピーします。
- RHUI インストールの健全性を検証し、結果を RHUA にあるファイルに書き込みます。監視ソリューションは、このファイルを使用して RHUI インストールの健全性を判断します。
- CLI ツールを使用して RHUI インストールの健全性について人間が判読できるビューを提供します。
RHUI は主に /etc/rhui/rhui-tools.conf と /etc/rhui/rhui-subscription-sync.conf の設定ファイルを使用します。
/etc/rhui/rhui-tools.conf 設定ファイルには、証明書のデフォルトのファイル場所や Red Hat CDN 同期のデフォルトの設定パラメーターなど、RHUA で使用される一般的なオプションが含まれています。通常、このファイルを編集する必要はありません。
/etc/rhui/rhui-subscription-sync.conf 設定ファイルには、Pulp データベースの認証情報が含まれています。この認証情報は、rhui-manager インターフェイスにログインするときに使用する必要があります。
RHUA は複数のサービスを使用して、配信を簡単にするためにコンテンツを同期し、整理し、配布します。
RHUA サービス
- Pulp
- リポジトリーを管理するサービス。
- PostgreSQL
- 現在同期されているリポジトリー、パッケージ、およびその他の重要なメタデータを追跡するために Pulp が使用するデータベース。
1.3.2. コンテンツ配信サーバー リンクのコピーリンクがクリップボードにコピーされました!
CDS ノードは、クライアントが更新したコンテンツ用に接続するリポジトリーを提供します。RHUI はフェイルオーバー機能を備えたロードバランサーを提供するため、複数の CDS ノードを使用することが推奨されます。
エンドユーザーの RHEL システムへの CDS ノードホストコンテンツシステムの数は必要ありませんが、CDS はラウンドロビン形式の負荷分散方式 (A、B、C、A、B、C) で動作し、エンドユーザーシステムにコンテンツを提供します。CDS は HTTPS を使用して、dnf リポジトリーを介してエンドユーザーシステムにコンテンツをホストします。
設定時に、パッケージが同期される CDS ディレクトリーを指定します。RHUA と同様に、唯一の要件は、CDS にディレクトリーをマウントすることです。必要なデバイスを割り当てる際の最善のアクションは、クラウドプロバイダーによって決定されます。Red Hat Update Infrastructure Management Tool の設定 RPM は、パッケージディレクトリーを NGINX の設定とリンクさせて、パッケージを提供するようにしました。
現在、RHUI は以下の共有ストレージソリューションをサポートしています。
- NFS
NFS が使用される場合、
rhui-installerは RHUA で NFS 共有を設定し、コンテンツと NFS 共有をマウントする CDS ノードのディレクトリーを保存できます。以下のrhui-installerオプションは、このような設定を制御します。-
--remote-fs-mountpointは、リモートファイルシステム共有をマウントするファイルシステムの場所を指定します (デフォルト:/var/lib/rhui/remote_share)。 -
--remote-fs-serverは、使用する共有ファイルシステムのリモートマウントポイントです。たとえば、nfs.example.com:/path/to/shareです (デフォルト値なし)。
-
想定される使い方は、RHUA とすべての CDS ノードで、NFS などの 1 つの共有ネットワークファイルシステムを使用することです。クラウドプロバイダーは、RHUA がパッケージを書き込んで各 CDS が読み取る共有ストレージの形式を使用できます。
ストレージソリューションは、RHUA および CDS ノードにマウントするための NFS エンドポイントを提供する必要があります。RHUI ノードには共有ファイルシステムのストレージを設定しないでください。独立したストレージサーバーを使用する必要があります。
各 CDS で行われる唯一の標準以外のロジックは、エンタイトルメント証明書チェックです。このチェックにより、dnf リポジトリーに対してリクエストを行うクライアントが、クラウドプロバイダーによって当該リポジトリーへのアクセス権限を与えられていることが保証されます。このチェックでは、以下の条件を確認します。
- エンタイトルメント証明書がクラウドプロバイダーの認証局 (CA) 証明書により署名されている。また、この検証を容易にするため、CA 証明書はその設定の一部として CDS にインストールされている。
- 要求された URI が、クライアントのエンタイトルメント証明書にあるエンタイトルメントと一致する。
CA の検証に失敗すると、クライアントには SSL エラーが表示されます。詳細は、/var/log/nginx/ の CDS ノードの NGINX ログを参照してください。
[root@cds01 ~]# ls -1 /var/log/nginx/
access.log
error.log
gunicorn-auth.log
gunicorn-content_manager.log
gunicorn-mirror.log
ssl-access.log----
NGINX 設定は、CDS インストール中に作成される /etc/nginx/conf.d/ssl.conf ファイルによって処理されます。
1.3.3. HAProxy ロードバランサー リンクのコピーリンクがクリップボードにコピーされました!
クライアントの HTTPS 要求をすべての CDS サーバーに分散するには、負荷分散ソリューションを導入する必要があります。RHUI はデフォルトで HAProxy を使用しますが、インストール時に、使用する負荷分散ソリューション (たとえば、クラウドプロバイダーのもの) を自由に選択できます。HAProxy が使用されている場合は、挿入するノードの数を決定する必要もあります。
クライアントは CDS に直接移動するように設定されていません。リポジトリーファイルは、RHUI ロードバランサーである HAProxy を参照するように設定されます。HAProxy は特に高可用性環境に適した TCP/HTTP リバースプロキシーです。
既存のロードバランサーを使用する場合は、ロードバランサーでポート 443 が設定されており、クラスター内のすべての CDS がロードバランサーのプール内にあることを確認してください。
正確な設定は、使用する特定のロードバランサーソフトウェアによって異なります。ロードバランサーの設定方法を理解するには、一般的な HAProxy 設定から取られる以下の設定を参照してください。
[root@rhui5proxy ~]# cat /etc/haproxy/haproxy.cfg
global
chroot /var/lib/haproxy
daemon
group haproxy
log <HAProxy IP Address> local0
maxconn 4000
pidfile /run/haproxy.pid
stats socket /var/lib/haproxy/stats
user haproxy
defaults
log global
maxconn 8000
option redispatch
retries 3
stats enable
timeout http-request 10s
timeout queue 1m
timeout connect 10s
timeout client 1m
timeout server 1m
timeout check 10s
listen https00
bind <HAProxy IP Address> :443
balance roundrobin
option tcplog
option tcp-check
server cds01.example.com cds01.example.com:443 check
server cds02.example.com cds02.example.com:443 check
クライアントが接続に失敗した場合、/var/log/nginx/ の下にある CDS 上の nginx ログを確認し、CDS への要求の到達を確認することが重要です。リクエストが CDS に届かない場合は、DNS や一般的なネットワーク接続に問題がある可能性があります。
1.3.4. リポジトリーおよびコンテンツ リンクのコピーリンクがクリップボードにコピーされました!
リポジトリーは、ソフトウェアパッケージ (RPM) のストレージの場所です。RHEL は dnf コマンドを使用してリポジトリーを検索し、RPM パッケージをダウンロード、インストール、および更新します。RPM には、アプリケーションの実行に必要なすべての依存関係が含まれます。
RHUI に関連するコンテンツは、RHUA ノードおよび CDS ノードで使用する Red Hat CDN からダウンロードしたソフトウェア (RPM など) です。RPM は、特定のアプリケーションおよびツールの実行に必要なファイルを提供します。クライアントは、rpm パッケージによって提供される一連の SSL コンテンツ証明書とキーによってアクセス権を付与され、このパッケージは生成された一連の dnf リポジトリーファイルも提供します。
1.3.5. コンテンツプロバイダーのタイプ リンクのコピーリンクがクリップボードにコピーされました!
クラウドコンピューティング環境には、3 つのタイプがあります。
- パブリッククラウド
- プライベートクラウド
- ハイブリッドクラウド
このガイドでは、パブリッククラウドおよびプライベートクラウドに焦点を当てています。パブリッククラウド、プライベートクラウド、ハイブリッドクラウドの使用の影響を理解していることを前提としています。
1.4. コンポーネントの通信 リンクのコピーリンクがクリップボードにコピーされました!
すべての RHUI コンポーネントは、ポート 443 での HTTPS 通信プロトコルを使用します。
| ソース | 宛先 | プロトコル | 目的 |
|---|---|---|---|
| Red Hat Update Appliance | Red Hat コンテンツ配信ネットワーク | HTTPS | Red Hat からパッケージをダウンロードします |
| ロードバランサー | コンテンツ配信サーバー | HTTPS | リポジトリーのメタデータとパッケージに対するクライアントの要求を転送する。 |
| クライアント | ロードバランサー | HTTPS | クライアント上の dnf がコンテンツをダウンロードするために使用します。 |
| コンテンツ配信サーバー | Red Hat Update Appliance | HTTPS | コンテンツに関する情報を Pulp API に要求する場合がある。 |
RHUI ノードでは、相互に通信するために以下のネットワークアクセスが必要です。
ネットワークポートを開放して、使用する予定のノードだけにネットワークアクセスが制限されていることを確認してください。
| ノード | ポート | Access |
|---|---|---|
| ルア | 443 | rhau、CDS01、CDS02、… CDSn |
| HAProxy | 443 | クライアント |
第2章 RHUI のインストール、移行、およびアップグレード リンクのコピーリンクがクリップボードにコピーされました!
2.1. RHUI のインストールオプション リンクのコピーリンクがクリップボードにコピーされました!
以下の表は、RHUI 5 の様々な設定要素を示しています。
| コンポーネント | 略語 | 機能 | Alternative |
|---|---|---|---|
| Red Hat Update Appliance | RHUA | Red Hat コンテンツ配信ネットワークからコンテンツをダウンロードし、共有ストレージに保存します。 | なし |
| コンテンツ配信サーバー | CDS | クライアントが更新パッケージを取得するために接続するリポジトリーを提供します。 | なし |
| HAProxy | なし | CDS ノード全体での負荷分散を提供する | 既存の負荷分散ソリューション |
| 共有ストレージ | なし | 共有ストレージを提供する | 既存のストレージソリューション |
以下の表は、インストールタスクを実行する方法を説明します。
| インストールタスク | 実行する場所 |
|---|---|
| RHEL 9 以降をインストールしてください。 | RHUA、CDS、および HAProxy |
| システムの登録 | RHUA、CDS、および HAProxy |
|
| RHUA |
|
コントロールノードに | コントロールノード |
|
| RHUA |
オプション 1: 完全なインストール
- 共有ストレージを備えた RHUA
- この共有ストレージを持つ 2 つ以上の CDS ノード
- 1 つ以上の HAProxy ロードバランサー
オプション 2: 既存のストレージソリューションを使用したインストール
- 既存のストレージソリューションを備えた RHUA
- この既存のストレージソリューションを備えた 2 つ以上の CDS ノード
- 1 つ以上の HAProxy ロードバランサー
オプション 3: 既存のロードバランサーソリューションを使用したインストール
- 共有ストレージを備えた RHUA
- この共有ストレージを持つ 2 つ以上の CDS ノード
- 既存のロードバランサー
オプション 4: 既存のストレージおよびロードバランサーソリューションを使用したインストール
- 既存のストレージソリューションを備えた RHUA
- この既存の共有ストレージを備えた 2 つ以上の CDS ノード
- 既存のロードバランサー
Red Hat Update Infrastructure は、少なくとも 2 つの CDS ノードと 1 つのロードバランサーノードと組み合わせて使用する必要があります。ロードバランサーノードがなく、CDS ノードが 1 つだけのインストールはサポートされていません。
次の図は、RHUI 5 の様々な設定要素がどのように相互作用するかを概略的に示したものです。
図2.1 Red Hat Update Infrastructure 5 の概要
RHUA ノードおよび CDS ノードを別の x86_64 サーバー (ベアメタルまたは仮想マシン) にインストールします。RHUI に接続するすべてのサーバーとネットワークが、Red Hat サブスクリプション管理サービスにアクセスできることを確認してください。
2.2. Red Hat Update Infrastructure のインストールタイプ リンクのコピーリンクがクリップボードにコピーされました!
標準インストール
RHUI 5 インストーラーを起動する際の標準モードでは、最初に RHUA コンテナーイメージを --target-host にデプロイします。この操作モードでは --remote-fs-server も必要です。
既存の RHUI 5 インストールのメンテナンスまたはアップグレード
ターゲットホストに RHUA コンテナーイメージをデプロイしたら、--rerun スイッチを使用してインストーラーを呼び出して、一部の設定を変更できます (イメージバージョンを含む)。この場合、--remote-fs-server は、設定から推測されるため、必要ありません。
既存の RHUI 5 インストールのクローン作成
いくつかの制限はありますが、既存の RHUI 5 インストールのクローンを作成できるようになりました。主な制限は、インストールプロセスとは独立して、事前に Pulp コンテンツのクローンを作成する必要があることです。それが完了すると、インストーラーを --clone フラグで呼び出すことができ、クローン作成プロセスがトリガーされます。--clone フラグでは、デフォルトで必要な標準の --target-host 引数に加えて、--source-host と --migration-fs-server の両方を指定する必要があります。
2.3. RHUI 4 移行の両方のタイプに共通する要素 リンクのコピーリンクがクリップボードにコピーされました!
アーティファクトごとの同期ポリシーはサポートされなくなりました。
たとえば、次の設定パラメーターは無効になります。
-
rpm_sync_policy -
debug_sync_policy -
source_sync_policy
default_sync_policy パラメーターは引き続き有効です。アーティファクトの種類に応じて異なる同期ポリシーをサポートし、該当するコンテンツに基づいて同期ポリシーを選択する柔軟性を高めるために、次の 2 つの新しい設定パラメーターが利用可能です。
-
immediate_repoid_regex -
on_demand_repoid_regex
同期タスクが送信されるたびに、リポジトリーの repoid が最初に immediate_repoid_regex の正規表現と照合されます。一致する場合、'immediate' ポリシーによる同期が要求されます。一致しない場合は、on_demand_repoid_regex に対して一致がテストされます。この一致により、on_demand 同期タスクが生成されます。一致するものがない場合、default_sync_policy configuration パラメーターで指定されたポリシーを使用して同期が実行されます。
どちらの移行タイプでも、CDS または HAPROXY 情報は移行されません。RHUI 5 RHUA (TUI または CLI 経由) を使用して、新しい CDS および HAPROXY ノードを追加することは、RHUI 管理者の責務です。さらに、既存の RHUI 4 インストールの CDS ノードと HAPROXY ノードは、そのサービスが完全に稼働している状態でそのまま残されます。繰り返しになりますが、これらのノードが不要になった時点でシャットダウンすることは、RHUI 管理者の責務です。それまでは、Pulp コンテンツを含むファイルシステム共有に引き続きアクセスでき、以前に同期されシンボリックリンクされた RHUI コンテンツを提供することができます。移行後、これらのレガシー RHUI 4 CDS ノードは、まだ取得されていないオンデマンドコンテンツを配信できなくなります。これは、各ノードの設定が、すでにシャットダウンされた RHUI 4 RHUA を参照しているためです。
2.4. Red Hat Update Infrastructure による既存インストールの移行 リンクのコピーリンクがクリップボードにコピーされました!
RHUI 4 インストールのインプレース移行
--migrate-from-rhui-4 インストールフラグが指定されている場合、インストーラーは --target-host 上の既存の RHUI 4 RHUA インストールのインプレース移行を実行し、RHUI 4 が見つからない場合はインストールを停止します。このモードでは、既存の RHUI 4 設定ファイルから推測されるため、--remote-fs-server は必要ありません。
インストール手順により、RHUI 4 サービスはシャットダウンされ、PostgreSQL データベースファイルが RHUI 5 コンテナーがアクセスできる場所にコピーされます (これにより、データベースファイルのスペース要件が 2 倍になります)。ファイルは var/lib/rhui/postgres にコピーされます。ルートディレクトリーが存在するボリュームには、データベースのコピーを保存するのに十分な空き容量が必要です。`du -sh/var/lib/pgsql/data` コマンドを使用すると、データベースのサイズと、データベースに必要な容量を確認できます。共有ストレージにある Pulp コンテンツファイルの所有権は、RHUI 5 コンテナーで使用される UID/GID と一致するように変更されます。
RHUI 4 インストールの別のマシンへの移行
--migrate-from-rhui-4 に加えて --source-host が指定されている場合は、既存の RHUI 4 インストールに対して --source-host がチェックされます。見つかった場合、その設定はデータベースファイルとともに --target-host に転送され、RHUI 5 RHUA コンテナーがそこにデプロイされます。--source-host 上の RHUI RHUA サービスは移行前に停止され、共有ストレージ上の Pulp コンテンツファイルの所有者は変更されますが、それ以外は変更されません。その後、同じファイルシステム共有が --target-host にマウントされます。
RHUI 5 は最新バージョンの PostgreSQL に移行し、最新のセキュリティーアップデートを確実に適用します。そのためには、既存の RHUI 4 を最新バージョンにアップデートし、RHUI 5 への移行前に PostgreSQL をバージョン 15 に更新する必要があります。
このシナリオでは、RHUA のホスト名が変更されるため、RHUI 5 の設定および Pulp の Nginx 用 SSL 証明書が、それに合わせて調整されることに留意する必要があります。
移行は、別のシステムだけでなく、別のリモートファイル共有を対象にすることもできます。これは、--target-host によってマウントされるリモートファイル共有を示す --migration-fs-server によって示されます。
Pulp のアーティファクトを含むファイル共有のコンテンツ (つまり、pulp3、symlinks、repo-notes ディレクトリー) は、移行プロセスが始まる前に、移行プロセスとは独立してコピーされる必要があります。
2.5. インストールパラメーターの提供 リンクのコピーリンクがクリップボードにコピーされました!
RHUI 5 のインストールに関連するパラメーターを指定する方法はいくつかあります。優先順位の高い順に並べると次のようになります。
- コマンドラインで指定されたパラメーターは、他のいかなるパラメーター提供方法よりも、絶対的な優先順位を持ちます。ただし、扱いにくく直感に反するインストールコマンドラインをユーザーに強制的に作成させたくないため、すべてのインストールパラメーターがこの方法でサポートされているわけではありません。
- パラメーターは、回答ファイルを通じて提供できます。この方法では、より大きなインストールパラメーターセットに対応できます。
-
インストーラーは、必要なパラメーター (つまり
--target-hostと--remote-fs-server) の存在を確認し、指定されていない場合は終了します。 -
ターゲットホストに
rhui-tools.confがすでに存在する場合、そのコンテンツが解析され、コマンドラインまたは回答ファイルで一致するキーが提供されない限り、そこに提供された値が保持されます。 - 一部のパラメーターには、インストーラーにハードコードされたデフォルト値があります。
共有ストレージ管理
RHUI 5 インストーラーは NFS のみをサポートするため、--remote-fs-type はサポートされなくなりました。さらに、--remote-fs-server 引数としてリテラルの none を指定すると、共有 NFS ストレージのセットアップが完全にスキップされます。これは、共有ストレージが別のレベルで管理されている場合や、OpenShift などの別の製品によって管理されている場合に役立ちます。--remote-fs-mountpoint は、引き続きサポートされていますが、これはコンテナー側ではなく、ホスト上のファイルシステムレイアウトを参照することに注意してください。基本的に、ファイルシステムをマウントする場所を決定するのに役立ちます。RHUI コンテナーはルートレスモードで実行されているため、ファイルシステムの NFS マウントはホスト上で実行する必要があることに注意してください。
2.6. RHUI 5 のインストール手順 リンクのコピーリンクがクリップボードにコピーされました!
作業を開始する前に
RHUI 5 の場合、個別の RPM ではなく、コンテナーイメージのみが公開されます。以下に対して、個別のイメージが存在します。
- installer
- RHUA
- CDS
- HAPROXY
インストーラーにローカルファイルを提供する
RHUI 4 では、インストーラーは一部のコマンドラインスイッチの引数として、ローカルファイルパスを受け入れます。実行中のコンテナーはホストファイルシステム上の任意のファイルにアクセスできないため、コンテナー化されたインストールでは、このオプションは利用できなくなりました。そのため、RHUI 5 インストーラーは、いくつかのハードコードされたファイルパスを参照してファイルを取得するように構成されています。これらのパスは、podman コマンドラインを通じてボリュームマウントとして提供することが可能です。残念ながら、回答ファイルが解析された時点でコンテナーはすでに起動されているため、これらのパスを回答ファイルを通じて提供することはできません。
インストーラーが参照する、コンテナーのローカルにある特殊なファイルパスのリスト:
-
/ssh-keyfile- ターゲットホストにログインするために使用される秘密 SSH キー。 -
/rhua-image.tar- ターゲットホストに明示的に転送する場合の RHUA コンテナーイメージファイル。イメージファイルは、podman saveコマンドによって作成された形式である必要があります。この場合、--rhua-container-imageおよび--rhua-container-registryインストールパラメーターは許可されません。 /answers.yaml- 回答ファイル。内容は以下のようになります。rhua: certs_country: HR certs_city: Zadar certs_org: RHUI devs certs_org_unit: Containerization efforts certs_ca_common_name: rhui5-development.example.net default_sync_policy: on demand-
/rhui-ca.crtおよび/rhui-ca.key- RHUI CA 証明書とそのキー。 -
/client-ssl-ca.crtおよび/client-ssl-ca.key- CDS SSL トラフィックの CA 証明書とそのキー。 -
/client-entitlement-ca.crtおよび/client-entitlement-ca.key- クライアント証明書管理用の CA 証明書とそのキー。
コンテナーにボリュームマウントを提供するときは常に、コンテナーに適切な SELinux ラベルがあり、ボリュームマウントオプションとして :z または :Z のいずれかを指定していることを確認してください。
RHUI 5 のインストーラーイメージを実行する
インストーラーイメージを実行するには、パブリック Red Hat レジストリー registry.redhat.io にアクセスする必要があります。レジストリーは認証情報によって保護されています。また、レジストリーへのログイン、およびその後のターゲットホストに対するインストーラーイメージの実行 (以下のとおり) を行うためには、Podman がインストールされたマシン (コントロールノードと呼びます) にログインしている必要があります。
以下の例は、RHEL 9 を使用していることを前提としています。
$ sudo dnf -y install podman
[...]
[root@controlNode ~] # podman login --username <CCSP_login> registry.redhat.io
Password:
Login Succeeded!
レジストリーにログインした後、利用可能な RHUI コンテナーイメージを確認できます。
$ podman search registry.redhat.io/rhui5
NAME DESCRIPTION
registry.redhat.io/rhui5/cds-rhel9 Red Hat Update Infrastructure 5 Content Deli...
registry.redhat.io/rhui5/installer-rhel9 Red Hat Update Infrastructure 5 Installer
registry.redhat.io/rhui5/rhua-rhel9 Red Hat Update Infrastructure 5 Appliance
registry.redhat.io/rhui5/haproxy-rhel9 Red Hat Update Infrastructure 5 Load Balance...
この時点で、以下のすべてが提供されていることを前提として、インストールプロセスを開始する準備ができています。
-
RHUA のインストール先のターゲットホスト。これは
--target-hostインストールパラメーターです。 - ターゲットホストは、次の要件を満たすか、それを超えることができます。
- RHEL 9 または 10 を実行し、すでに Red Hat に登録されている必要があります。
ターゲットホストは、subscription-manager register コマンドを使用して登録する必要があります。プロンプトが表示されたら、CCSP ユーザー名とパスワードを入力します。
- RHUA のハードウェアは、最低限、x86_64、16 個の CPU コア、64GB の RAM、256GB 以上のディスク容量が必要です。
- CDS および HAProxy の場合、ハードウェアは最低限、x86_64、8 コア以上の CPU、8GB 以上の RAM、128GB 以上のディスク容量が必要です。
-
Pulp コンテンツを保存するために使用される NFS ファイル共有。これは
--remote-fs-serverインストールパラメーターです。 - ターゲットホストが SSH 認証を受け入れました。
- ターゲットユーザーとは、リモートホストに接続する際に使用するユーザー名のことです。対象ユーザーは、対象ユーザーのホームディレクトリーで認証されている SSH 鍵によって認証されます。
ターゲットホストを起動済みで、SSH キーを受け入れるように設定されていることを前提として、Podman で以下のコマンドを実行できます。
-
-it: これは、適切なターミナル出力による対話型セッションが必要であることを意味します。 -
--rm: これは、操作が完了したらコンテナーを削除します。 -v ~/.ssh/id_rsa:/ssh-keyfile:Zこれにより、SSH 秘密鍵がボリュームマウントされ、インストーラーコンテナーがそれにアクセスできるようになります。注記SSH キーをパスフレーズ付きでセットアップしている場合は、SSH パスフレーズを忘れずに入力してください。
$ podman run -it --rm -v ~/.ssh/id_rsa:/ssh-keyfile:Z \ registry.redhat.io/rhui5/installer-rhel9 rhui-installer \ --target-user <target-user> --rhua-container-registry registry.redhat.io \ --podman-username <CCSP_login> --podman-password '<CCSP_password>' \ --remote-fs-server <nfs-host:/path> \ --target-host <rhua-hostname> Trying to pull registry.redhat.io/rhui5/installer-rhel9:latest... ... Getting image source signatures Copying blob 92efcdccd105 done | Copying blob 19f9949dbedd done | Copying blob 467b1cd556e7 done | Copying blob 5c6a65a8d3b9 done | Copying config be3b9592ab done | Writing manifest to image destination PLAY [RHUI 5 installation RHUA installation playbook executing on the *target* host] ***************************************************************************************** TASK [Populate service facts] *********************************************************** Enter passphrase for key '/ssh-keyfile': ok: [<rhua-hostname>] TASK [Stop the RHUA container that might be running already] ***************************************************************************************** skipping: [<rhua-hostname>] TASK [Prepare the dictionary for holding the rhui-tools.conf values] ***************************************************************************************** ok: [<rhua-hostname>] TASK [Check whether we have rhui-tools.conf in the designated location] ***************************************************************************************** ok: [<rhua-hostname>] [...] TASK [Enable and start RHUA container as a systemd service] ***************************************************************************************** changed: [<rhua-hostname>] PLAY RECAP ****************************************************************************** <rhua-hostname> : ok=69 changed=43 unreachable=0 failed=0 skipped=43 rescued=0 ignored=0 PLAY [Attempt to copy the installer log file onto the managed node] ***************************************************************************************** TASK [Copy the log file] **************************************************************** changed: [<rhua-hostname>] PLAY RECAP ****************************************************************************** <rhua-hostname>: ok=1 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
インストール検証
RHUA コンテナーの準備が整い、ターゲットホスト上で実行されています。では、どのようにアクセスしたらよいでしょうか?インストール中に、Podman exec 呼び出しを入力する手間を省くために、rhua という名前のシェル関数が作成されました。以下の設定を入力します。
[root@rhua ~]# which rhua
rhua ()
{
default_arg="";
[ $# -eq 0 ] && default_arg=bash;
[ "$1" = "-h" ] && echo -e "rhua: executes commands in the RHUA container environment.\n Usage: rhua command [args ...]" && return 1;
( cd /var/lib/rhui;
sudo -u rhui podman exec -it rhui5-rhua "${default_arg}${@}" )
}
[root@rhua ~]# rhua bash
bash-5.1# cat /etc/rhui/rhui-subscription-sync.conf
[auth]
username = admin
password = <generated_password>
bash-5.1# rhui-manager
Logging into the RHUI.
It is recommended to change the user's password
in the User Management section of RHUI Tools.
RHUI Username: admin
RHUI Password: <generated_password>
認証に SSH エージェントを使用する (オプション)
SSH キーを渡すために ssh-agent を使用する場合は、コンテナー内で ssh-agent ソケットを使用できるようにするために、インストーラーコンテナーを --privileged モードで実行する 必要があります。さらに、ssh-agent が動作していることと、SSH 秘密鍵のロックが解除されていることを確認してください。次に、以下のコマンドを実行します。
$ ssh-add
Enter passphrase for /home/<username>/.ssh/id_rsa:
Identity added: /home/<username>/.ssh/id_rsa (/home/<username>/.ssh/id_rsa)
次に、インストーラーの呼び出しで以下を、
-v ~/.ssh/id_rsa:/ssh-keyfile:Z
以下に置き換えます。
--privileged -v $SSH_AUTH_SOCK:$SSH_AUTH_SOCK:Z -e SSH_AUTH_SOCK=$SSH_AUTH_SOCK
-
--privileged: これにより、コンテナーは ssh-agent ソケットにアクセスできます。 -
-v $SSH_AUTH_SOCK:$SSH_AUTH_SOCK:Z: これは、コンテナーが SSH キーにアクセスできるように、SSH 認証ソケットをコンテナーのファイルシステムに渡すためのものです。 -
-e SSH_AUTH_SOCK=$SSH_AUTH_SOCK: これは、コンテナーのランタイムにおいて、SSH 認証ソケットの場所を指す環境変数を設定するためのものです。
2.7. 管理者パスワードの変更 リンクのコピーリンクがクリップボードにコピーされました!
rhui-installer は、RHUI の初期ログインパスワードを設定します。また、/etc/rhui/rhui-subscription-sync.conf ファイルでも記述されます。--rhui-manager-password オプションを使用して初期パスワードを上書きできます。
初期パスワードを後で変更する場合は、rhui-manager ツールまたは rhui-installer から変更できます。rhui-installer --help コマンドを実行して rhui-installer オプションの完全なリストを表示します。
手順
Red Hat Update Infrastructure Management Tool のホーム画面に移動します。
[root@rhua ~]# rhua rhui-manager-
uを押して、manage RHUI users を選択します。 User Manager 画面で、
pを押して change admin's password (followed by logout) を選択します。-= User Manager =- p change admin's password (followed by logout) rhui (users) => p Warning: After password change you will be logged out. Use ctrl-c to cancel password change. New Password:新しいパスワードを入力し、再度入力すると変更が確定します。
New Password: Re-enter Password: [localhost] env PULP_SETTINGS=/etc/pulp/settings.py /usr/bin/pulpcore-manager reset-admin-password -p ********
検証
管理者パスワードを変更すると、次のようなメッセージが表示されます。
Password successfully updated. For security reasons you have been logged out.
2.8. Red Hat Update Infrastructure (RHUI) のアップグレード 5 リンクのコピーリンクがクリップボードにコピーされました!
作業を開始する前に
RHUI をアップデートするには、RHUI インストーラーイメージを再実行する必要があります。これには、Podman がインストールされているマシンにログインしている必要があります。
まず、以下のコマンドを実行して、公開されている Red Hat レジストリーにログインしているかどうかを確認する必要があります。
$ podman login --get-login registry.redhat.io
このコマンドは、ログインしているユーザー名を表示します。ログインしていない場合は、エラーが表示されます。ログインしている場合は、アップグレードの手順に進むことができます。
ログインしていない場合は、以下のコマンドを実行してログインしてください。
podman login --username <CCSP_login> --password '<CCSP_password>' registry.redhat.io
ログイン後、アップグレード手続きを続行できます。
手順
RHUI を最新バージョンにアップグレードするには、以下のコマンドを使用して RHUI インストーラーを再実行してください。
$ podman run --pull=always -it --rm -v ~/.ssh/id_rsa:/ssh-keyfile:Z \ registry.redhat.io/rhui5/installer-rhel9 rhui-installer \ --target-user <target-user> --target-host <rhua-hostname> --rerun- 次に、RHUA 上で以下のコマンドを実行して、CDS および HAProxy イメージをアップグレードする必要があります。
# rhua rhui-manager --noninteractive cds reinstall --all
# rhua rhui-manager --noninteractive haproxy reinstall --all
検証
RHUI が最新バージョンにアップグレードされたことを確認するには、以下の手順を実行してください。
# rhua rpm -q rhui-tools
第3章 リポジトリーの管理 リンクのコピーリンクがクリップボードにコピーされました!
3.1. 利用可能なリポジトリー リンクのコピーリンクがクリップボードにコピーされました!
認定クラウドおよびサービスプロバイダー (CCSP) パートナーは、自社のサービスを通じて配信されるリポジトリーとパッケージを管理します。さまざまなオペレーティングシステムバージョンで使用可能であるが、RHUI にまだ追加されていないリポジトリーに関する最新情報を確認するには、RHUA で次のコマンドを実行します。
# rhua rhui-manager --noninteractive repo unused --by_repo_id
3.2. 新しい Red Hat コンテンツリポジトリーの追加 リンクのコピーリンクがクリップボードにコピーされました!
CCSP アカウントを使用すると、選択した Red Hat リポジトリーにアクセスし、それらを Red Hat Update Infrastructure 環境で利用できるようになります。
手順
Red Hat Update Infrastructure Management Tool のホーム画面に移動します。
[root@rhua ~]# rhua rhui-manager-
rを押して manage repositories を選択します。 -
Repository Management 画面で
aを押して、add a new Red Hat content repository を選択します。 Red Hat Update Infrastructure Management Tool が、エンタイトルメントが適用されたリポジトリーを特定するのを待ちます。これには数分の時間がかかる場合があります。
rhui (repo) => a Loading latest entitled products from Red Hat... ... listings loaded Determining undeployed products... ... product list calculatedRed Hat Update Infrastructure Management Tool は、選択方法を選択するよう求めます。
Import Repositories: 1 - All in Certificate 2 - By Product 3 - By Repository Enter value (1-3) or 'b' to abort:-
複数のリポジトリーを製品としてまとめて追加するには (通常は製品のすべてのマイナーバージョンをワンステップで追加します)、
2を押して By Product 方式を選択します。または、By Repository 方式を使用して、特定のリポジトリーを追加することもできます。 プロンプトでリポジトリーの数を入力して、追加するリポジトリーを選択します。また、リポジトリーの範囲を選択することもできます (例:
1~5)。Enter value (1-620) to toggle selection, 'c' to confirm selections, or '?' for more commands:- 追加するリポジトリーがすべて確認されるまで続行します。
リポジトリーの選択が完了したら、
c キーを押してください。Red Hat Update Infrastructure Management Tool は、デプロイメントのリポジトリーを表示し、確認を求めます。The following products will be deployed: Red Hat Enterprise Linux 10 for ARM 64 - BaseOS (Debug RPMs) from RHUI Red Hat Enterprise Linux 10 for ARM 64 - BaseOS (RPMs) from RHUI Proceed? (y/n)yを押して先に進みます。メッセージは、それぞれのデプロイメントの成功を示します。Importing Red Hat Enterprise Linux 10 for ARM 64 - BaseOS (Debug RPMs) from RHUI... Importing product repository Red Hat Enterprise Linux 10 for ARM 64 - BaseOS (Debug RPMs) from RHUI (10.1)... Importing product repository Red Hat Enterprise Linux 10 for ARM 64 - BaseOS (Debug RPMs) from RHUI (10.0)... Importing product repository Red Hat Enterprise Linux 10 for ARM 64 - BaseOS (Debug RPMs) from RHUI (10)... Importing Red Hat Enterprise Linux 10 for ARM 64 - BaseOS (RPMs) from RHUI... Importing product repository Red Hat Enterprise Linux 10 for ARM 64 - BaseOS (RPMs) from RHUI (10.1)... Importing product repository Red Hat Enterprise Linux 10 for ARM 64 - BaseOS (RPMs) from RHUI (10.0)... Importing product repository Red Hat Enterprise Linux 10 for ARM 64 - BaseOS (RPMs) from RHUI (10)... Content will not be downloaded to the newly imported repositories until the next sync is run.
検証
-
Repository Management 画面で
lを押し、正しいリポジトリーがインストールされていることを確認します。
3.3. RHUI 5 が現在管理しているリポジトリーのリスト リンクのコピーリンクがクリップボードにコピーされました!
リポジトリーには、Linux ディストリビューション用のダウンロード可能なソフトウェアが含まれています。dnf を使用すると、リポジトリーから RPM パッケージを検索、インストール、またはダウンロードできます。
手順
Red Hat Update Infrastructure Management Tool のホーム画面に移動します。
[root@rhua ~]# rhua rhui-manager-
rを押して manage repositories を選択します。 Repository Management 画面で
lを押して、list repositories currently managed by the RHUI を選択します。... Red Hat Enterprise Linux 10 for ARM 64 - AppStream (RPMs) from RHUI (10) Red Hat Enterprise Linux 10 for ARM 64 - AppStream (RPMs) from RHUI (10.0) Red Hat Enterprise Linux 10 for ARM 64 - AppStream (RPMs) from RHUI (10.1) Red Hat Enterprise Linux 10 for ARM 64 - AppStream (Source RPMs) from RHUI (10) Red Hat Enterprise Linux 10 for ARM 64 - AppStream (Source RPMs) from RHUI (10.0) Red Hat Enterprise Linux 10 for ARM 64 - AppStream (Source RPMs) from RHUI (10.1) Red Hat Enterprise Linux 10 for ARM 64 - BaseOS (Debug RPMs) from RHUI (10) Red Hat Enterprise Linux 10 for ARM 64 - BaseOS (Debug RPMs) from RHUI (10.0) Red Hat Enterprise Linux 10 for ARM 64 - BaseOS (Debug RPMs) from RHUI (10.1) ...
3.4. リポジトリーの詳細情報の表示 リンクのコピーリンクがクリップボードにコピーされました!
Repository Management 画面では、特定のリポジトリーに関する情報を表示できます。
手順
Red Hat Update Infrastructure Management Tool のホーム画面に移動します。
[root@rhua ~]# rhua rhui-manager-
rを押して manage repositories を選択します。 Repository Management 画面で、
iを押します。Enter value (1-1631) to toggle selection, 'c' to confirm selections, or '?' for more commands:- リポジトリー名の横にある値を入力してリポジトリーを選択します。製品の選択を確認する前に、一度に 1 つのリポジトリー選択を入力します。
確認するには
cを押してください。Name: Red Hat Enterprise Linux 10 for ARM 64 - AppStream (Debug RPMs) from RHUI (10.1) ID: rhel-10-for-aarch64-appstream-debug-rhui-rpms-8.4 Type: Red Hat Version: 0 Relative Path: content/dist/rhel10/rhui/10.1/aarch64/appstream/debug GPG Check: Yes Custom GPG Keys: (None) Red Hat GPG Key: Yes Content Unit Count: Last Sync: 2026-11-15 15:56:06 Next Sync: 2026-11-15 22:00:00 Name: Red Hat Enterprise Linux 10 for ARM 64 - AppStream (RPMs) from RHUI (10.1) ID: rhel-10-for-aarch64-appstream-rhui-rpms-8.4 Type: Red Hat Version: 0 Relative Path: content/dist/rhel10/rhui/10.1/aarch64/appstream/os GPG Check: Yes Custom GPG Keys: (None) Red Hat GPG Key: Yes Content Unit Count: Last Sync: 2026-11-15 19:50:20 Next Sync: 2026-11-16 01:55:00 Name: Red Hat Enterprise Linux 10 for ARM 64 - AppStream (Source RPMs) from RHUI (10.1) ID: rhel-10-for-aarch64-appstream-source-rhui-rpms-8.4 Type: Red Hat Version: 0 Relative Path: content/dist/rhel10/rhui/10.1/aarch64/appstream/source/SRPMS GPG Check: Yes Custom GPG Keys: (None) Red Hat GPG Key: Yes Content Unit Count: Last Sync: 2026-11-15 15:56:51 Next Sync: 2026-11-15 22:00:00
検証
- 選択した内容にも同様の出力が表示されます。
3.5. リポジトリーのオンデマンド同期の設定 リンクのコピーリンクがクリップボードにコピーされました!
RHUI では、特定のリポジトリーを on_demand 同期モードに設定することで、事前にストレージにダウンロードされるコンテンツの量を最小限に抑えることができます。この方法では、RHUI はクライアントマシンから要求された場合にのみコンテンツをダウンロードして保存するため、ストレージ使用量とコストが削減されます。しかし、このアプローチの欠点は、RHUI のパフォーマンスが Red Hat CDN ネットワークへの接続速度に依存することである。
同期ポリシーの設定
アーティファクトの種類に応じて異なる同期ポリシーをサポートするため、また対象となるコンテンツに基づいて同期ポリシーを選択する際の柔軟性を高めるために、2 つの設定パラメーターが用意されています。
- immediate_repoid_regex
- on_demand_repoid_regex
同期タスクが送信されるたびに、リポジトリーの repoid が最初に immediate_repoid_regex の正規表現と照合されます。一致する場合は、即時 ポリシーとの同期が要求されます。一致しない場合は、on_demand_repoid_regex に対して一致がテストされます。このマッチングにより、オンデマンド同期タスクが生成されます。一致するものが見つからない場合は、default_sync_policy 設定パラメーターで指定されたポリシーを使用して同期が実行されます。
ポリシーの適用
設定ファイルを更新すると、次回のリポジトリー同期で新しいポリシーが適用されます。
オンデマンド から 即時同期 に切り替えると、次回の同期時に指定されたタイプのすべてのコンテンツのダウンロードが開始されます。
同期方法を 即時 から オンデマンド に切り替えると、次回の同期ではリポジトリーのメタデータのみがダウンロードされます。RHUI はクライアントマシンからの要求に応じてコンテンツをダウンロードします。
両方のタイプのポリシーを使用したポリシー設定の例
リポジトリーで両方のタイプのポリシーを使用するように設定するには、/etc/rhui/ rhui-tools.conf ファイルを以下の設定に編集する必要があります。
[rhui]
on_demand_repoid_regex: debug|source
immediate_repoid_regex: ^$
default_sync_policy: immediate
この設定では、デバッグ用リポジトリーとソースリポジトリーは オンデマンド ポリシーを使用して同期され、通常のリポジトリーは 即時 ポリシーを使用して同期されます。
ヒントとコツ
- RHUI をインストールした直後にすべてのリポジトリーを on_demand に設定すると、最初にメタデータを同期するだけで済むため、デプロイが高速化し、エンドユーザーへの提供が迅速化します。
-
新規インストール環境で、古いバージョンの RHEL クライアントをサポートする必要がない場合は、キャッシュプライミングストラテジーを活用すると効果的です。エンドユーザーの設定をミラーリングするクライアントを使用し、
dnf updateを実行することで、RHUI のストレージにコンテンツを事前にダウンロードできます。
3.6. 入力ファイルを使用した新しい Red Hat コンテンツリポジトリーの追加 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Update Infrastructure 5 以降では、設定済みの YAML 入力ファイルを使用してカスタムリポジトリーを追加できます。RHUA コンテナーの /usr/share/rhui-tools/examples/repo_add_by_file.yaml ディレクトリーに、YAML ファイルのサンプルテンプレートがあります。
この機能はコマンドラインインターフェイス (CLI) でのみ利用できます。
前提条件
- RHUA ノードへの root のアクセス権がある。
手順
RHUA ノードで、以下の形式で YAML 入力ファイルを作成します。
# cat /root/example.yaml name: Example_YAML_File repo_ids: - rhel-10-for-x86_64-baseos-eus-rhui-rpms-10.0rhui-managerユーティリティーを使用して、入力ファイルに一覧表示されているリポジトリーを追加します。# rhua rhui-manager repo add_by_file --file /root/example.yaml --sync_now The name of the repos being added: Example_YAML_File Loading latest entitled products from Red Hat... ... listings loaded Successfully added Red Hat Enterprise Linux 10 for x86_64 - BaseOS - Extended Update Support from RHUI (RPMs) (10.0) (Yum) ... successfully scheduled for the next available timeslot.
検証
CLI で、以下のコマンドを使用してインストールされたリポジトリーの一覧を表示し、正しいリポジトリーがインストールされているかどうかを確認します。
# rhua rhui-manager repo list-
RHUI 管理ツールのリポジトリー管理画面で、
lを押して、インストールされているすべてのリポジトリーを一覧表示し、正しいリポジトリーがインストールされているかどうかを確認します。
3.7. カスタムリポジトリーの新規作成 (RPM コンテンツのみ) リンクのコピーリンクがクリップボードにコピーされました!
RHUI クライアントに更新されたクライアント設定パッケージやその他の Red Hat 以外のソフトウェアを配布するために使用できるカスタムリポジトリーを作成できます。64 ビット RHUI サーバー用の保護されたリポジトリー (例: client-rhui-x86_64) は、更新されたクライアント設定パッケージなど、Red Hat 以外の新しいパッケージを RHUI クライアントに配布するための推奨される手段となります。
Red Hat コンテンツリポジトリーと同様に、プロセッサーアーキテクチャー (i386 と AMD64) のみが異なる保護されたカスタムリポジトリーは、$basearch dnf 変数を使用して、エンタイトルメント証明書内の単一のエンタイトルメントに統合されます。
証明書に問題がある場合には、RHUI サーバーの保護されていないリポジトリーを、更新された RPM を RHUI クライアントに配布するためのフォールバック方法として使用できます。
手順
Red Hat Update Infrastructure Management Tool のホーム画面に移動します。
[root@rhua ~]# rhua rhui-manager-
rを押して manage repositories を選択します。 -
Repository Management 画面で
cを押して、create a new custom repository (RPM content only) を選択します。 リポジトリーの一意の ID を入力します。英数字、_ (アンダースコア)、および - (ハイフン) のみが許可されます。一意の ID でスペースを使用することはできません。たとえば、
repo1、repo_1、repo-1は有効なエントリーです。Unique ID for the custom repository (alphanumerics, _, and - only):リポジトリーの表示名を入力します。この名前には、ID では使用できないスペースやその他の文字を含めることができます。名前にはデフォルトで ID が使用されます。
Display name for the custom repository [repo_1]:リポジトリーをホストするパスを指定します。このパスは、RHUI がホストする全リポジトリーで一意でなければなりません。たとえば、このステップでパスを
internal/rhel/9/repo_1として指定すると、リポジトリーがhttps://<yourLB>/pulp/content/protected/internal/rhel/9/repo_1に配置されます。Unique path at which the repository will be served [repo_1]:新規リポジトリーを保護するかどうかを選択します。この質問に no と回答すると、すべてのクライアントがリポジトリーにアクセスできます。yes と回答すると、適切なエンタイトルメント証明書を持つクライアントのみがリポジトリーにアクセスできます。
警告名前が示すように、保護されていないリポジトリーのコンテンツは、クライアントのエンタイトルメント証明書を必要とせずに要求するシステムで利用できます。保護されていないリポジトリーを使用してコンテンツを配信する場合は、更新されたクライアント設定 RPM などのコンテンツを配布する場合は注意してください。これにより、保護されたリポジトリーへのアクセスが提供されます。
以下のような質問に yes または no と答えます。
Should the repository require clients to perform a GPG check and verify packages are signed by a GPG key? (y/n) Will the repository be used to host any Red Hat GPG signed content? (y/n) Will the repository be used to host any custom GPG signed content? (y/n) Enter the absolute path to the public key of the GPG key pair: Would you like to enter another public key? (y/n) Enter the absolute path to the public key of the GPG key pair: Would you like to enter another public key? (y/n)-
新しいリポジトリーの詳細が表示されます。プロンプトで
yを押して情報を確認し、リポジトリーを作成します。
検証
-
Repository Management 画面で
lを押し、正しいリポジトリーがインストールされていることを確認します。
3.8. RHUI 5 からリポジトリーを削除する リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Update Infrastructure Management Tool が Red Hat リポジトリーを削除すると、RHUA および適用可能なすべての CDS ノードからリポジトリーが削除されます。
手順
Red Hat Update Infrastructure Management Tool のホーム画面に移動します。
[root@rhua ~]# rhua rhui-manager-
rを押して manage repositories を選択します。 -
Repository Management 画面で
dを押して、Red Hat リポジトリーを削除します。RHUI が現在管理しているリポジトリーのリストが表示されます。 -
プロンプトでリポジトリーの数を入力して、削除するリポジトリーを選択します。リポジトリーの数を入力すると、そのリポジトリー名の横にチェックマークが付けられます。また、リポジトリーの範囲を選択することもできます (例:
1~5)。 - 削除するリポジトリーがすべて確認されるまで続行します。
プロンプトで
cを押して確定します。注記リポジトリーを削除した後も、リポジトリーの内容 (リポジトリーデータやパッケージなど) はファイルシステム上に残り、クライアントから引き続き利用される可能性があります。リポジトリーの内容は、次の孤立ファイルクリーンアップタスクが実行された後にのみ削除されるため、クライアントは 404 エラーを目にする可能性があります。RHUI5 では、孤立したユニットは毎週水曜日の午前 4 時に削除されます。管理者は、孤立したユニットをいつでも削除できます。404 エラーを回避するには、クライアント設定 RPM を更新する必要があります。
リポジトリー内の RPM ファイルは同期時に重複排除されるため、常に最小限の容量が使用されます。リポジトリーを削除する場合 (特にマイナーバージョン固有のリポジトリー)、そのリポジトリーの RPM パッケージが他のリポジトリーと共有されている可能性があります。
たとえば、RHEL 9.5 Appstream リポジトリーを削除しても、RHEL 9.6 Appstream リポジトリーがあれば、RHEL 9.6 リポジトリーには RHEL 9.5 リポジトリーと同じ RPM がすべて含まれているため、ディスクスペースの使用量は変わりません。RHEL 9.6 Appstream リポジトリーを削除しても、RHEL 9.5 Appstream リポジトリーを有効にしたままにしておくと、RHEL 9.6 には 9.0 から 9.6 までのすべてのパッケージが含まれているため、孤立したクリーンアップタスク中に RHEL 9.5 と 9.6 の違いが削除されます。
孤立したアーティファクトの削除に関する詳細は、孤立したアーティファクトの削除を 参照してください。
3.9. カスタムリポジトリーへのコンテンツのアップロード (RPM コンテンツのみ) リンクのコピーリンクがクリップボードにコピーされました!
複数のパッケージを同時にアップロードし、一度に複数のリポジトリーにアップロードできます。パッケージは RHUA に即時にアップロードされますが、CDS ノードが次回同期するまで CDS ノードでは使用できません。
手順
Red Hat Update Infrastructure Management Tool のホーム画面に移動します。
[root@rhua ~]# rhua rhui-manager-
rを押して manage repositories を選択します。 Repository Management 画面で、
uを押します。Select the repositories to upload the package into: - 1: test- 値 (1-1) を入力すると、選択が切り替わります。
-
選択を確定するには
cを押してください。 アップロードするパッケージの場所を入力してください。場所が RPM の場合は、ファイルがアップロードされます。場所がディレクトリーの場合は、そのディレクトリー内のすべての RPM がアップロードされます。
/root/bear-4.1-1.noarch.rpm The following RPMs will be uploaded: bear-4.1-1.noarch.rpmyを押して続行するか、nを押してキャンセルします。Copying RPMs to a temporary directory: /tmp/rhui.rpmupload.jsqdub22.tmp .. 1 RPMs copied. Creating repository metadata for 1 packages ... .. repository metadata created for 1 packages. The packages upload task for repo: client-config-rhel-10-x86_64 has been queued: /pulp/api/v3/tasks/01937826-8654-77c1-84f7-e9e07c7a7aeb/ You can inspect its progress via (S)ync screen/(RR) menu option in rhui-manager TUI.
3.10. 遠隔地の Web サイトからのコンテンツのアップロード (RPM コンテンツのみ) リンクのコピーリンクがクリップボードにコピーされました!
リモートサーバーに保存されているパッケージを、手動でダウンロードせずにアップロードすることができます。パッケージは、HTTP、HTTPS、または FTP でアクセスできる必要があります。
手順
Red Hat Update Infrastructure Management Tool のホーム画面に移動します。
[root@rhua ~]# rhua rhui-manager-
rを押して manage repositories を選択します。 Repository Management 画面で、
urを押します。Select the repositories to upload the package into: - 1: test- 値 (1-1) を入力すると、選択が切り替わります。
cを押して選択を確認します。### WARNING ### WARNING ### WARNING ### WARNING ### WARNING ### WARNING ### # # # Content retrieved from non-Red Hat arbitrary places can contain # # unsupported or malicious software. Proceed at your own risk. # # # ###########################################################################アップロードするパッケージのリモート URL を入力します。場所が RPM の場合は、ファイルがアップロードされます。場所が Web ページの場合、そのページからリンクされているすべての RPM がアップロードされます。
https://repos.fedorapeople.org/pulp/pulp/demo_repos/zoo/bear-4.1-1.noarch.rpm Retrieving https://repos.fedorapeople.org/pulp/pulp/demo_repos/zoo/bear-4.1-1.noarch.rpm The following RPMs will be uploaded: bear-4.1-1.noarch.rpmyを押して続行するか、nを押してキャンセルします。Copying RPMs to a temporary directory: /tmp/rhui.rpmupload.dwux8rq7.tmp .. 1 RPMs copied. Creating repository metadata for 1 packages ... .. repository metadata created for 1 packages. The packages upload task for repo: test has been queued: /pulp/api/v3/tasks/0193770c-6523-7363-ae5e-8c6429728b4f/ You can inspect its progress via (S)ync screen/(RR) menu option in rhui-manager TUI.
3.11. パッケージグループメタデータのカスタムリポジトリーへのインポート リンクのコピーリンクがクリップボードにコピーされました!
RHUI ユーザーがカスタムリポジトリーからパッケージグループまたは言語パックを表示およびインストールできるようにするには、comps.xml または comps.xml.gz ファイルをカスタムリポジトリーにインポートします。
Red Hat リポジトリーには、Red Hat が提供するこれらのファイルが含まれています。これらをオーバーライドすることはできません。これらのファイルをカスタムリポジトリーにアップロードすることは可能です。
この機能はコマンドラインインターフェイスでのみ使用できます。
前提条件
-
カスタムリポジトリーに関連する有効な
comps.xmlまたはcomps.xml.gzファイルがある。 - RHUA ノードへの root アクセスがある。
手順
RHUA ノードで、
rhui-managerユーティリティーを使用して、compsファイルからカスタムリポジトリーにデータをインポートします。# rhua rhui-manager repo add_comps --repo_id Example_Custom_Repo --comps /root/Example-Comps.xml
検証
カスタムリポジトリーを使用するクライアントシステムで以下を行います。
リポジトリーデータを更新します。
# dnf clean metadataリポジトリーデータを一覧表示し、
compsファイルが更新されていることを確認します。# dnf grouplist
3.12. カスタムリポジトリーからのコンテンツの削除 (カスタム RPM コンテンツのみ) リンクのコピーリンクがクリップボードにコピーされました!
RHUI の Text User Interface (TUI) を使用して、カスタムリポジトリーからパッケージを削除できます。
手順
Red Hat Update Infrastructure Management Tool のホーム画面に移動します。
[root@rhua ~]# rhua rhui-manager-
rを入力して、manage repositories を選択します。 Repository Management 画面で
rを入力し、リポジトリーから削除するパッケージを選択しま (カスタム RPM コンテンツのみ)。-= Repository Management =- l list repositories currently managed by RHUI i display detailed information on a repository a add a new Red Hat content repository ac add a new Red Hat container c create a new custom repository (RPM content only) d delete a repository from RHUI u upload content to a custom repository (RPM content only) ur upload content from a remote web site (RPM content only) p list packages in a repository (RPM content only) r select packages to remove from a repository (Custom RPM content only)値を入力してリポジトリーを選択します。
Choose a repository to delete packages from: 1 - Test-RPM-1 2 - Test-RPM-2値を入力して削除するパッケージを選択します。
Select the packages to remove: - 1: example-package-1.noarch.rpm - 2: example-package-2.noarch.rpmcを入力して選択を確定します。The following packages will be removed: example-package-1.noarch.rpmyを入力して続行するか、nを入力してキャンセルします。Removed example-package-1.noarch.rpm
3.13. リポジトリー内のパッケージのリスト表示 (RPM コンテンツのみ) リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Update Infrastructure Management Tool 内のリポジトリーのリストを表示する際に、100 未満のパッケージを含むリポジトリーのみがそのコンテンツを表示します。100 を超えるパッケージでは、パッケージ数のみが表示されます。
手順
Red Hat Update Infrastructure Management Tool のホーム画面に移動します。
[root@rhua ~]# rhua rhui-manager-
rを押して manage repositories を選択します。 -
Repository Management 画面で、
pを押します。 表示するリポジトリーの数を選択します。Red Hat Update Infrastructure Management Tool により、結果をフィルタリングするかどうかを尋ねられます。行を空白のままにして、フィルターなしで結果を確認します。
Enter value (1-1631) or 'b' to abort: 1 Enter the first few characters (case insensitive) of an RPM to filter the results (blank line for no filter): Only filtered results that contain less than 100 packages will have their contents displayed. Results with more than 100 packages will display a package count only. Packages: bear-4.1-1.noarch.rpm
検証
3 種類あるメッセージの 1 つが表示されます。
Packages: bear-4.1-1.noarch.rpmPackage Count: 8001No packages in the repository.
3.14. リポジトリーバージョン数の制限 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Update Infrastructure 4 で使用される Pulp 3 では、リポジトリーがバージョン管理されます。リポジトリーが Red Hat CDN で更新され、Red Hat Update Infrastructure で同期されると、Pulp で新しいバージョンが作成されます。
デフォルトでは、Red Hat Update Infrastructure バージョン 4.6 以前を使用して追加されたリポジトリーは、すべてのリポジトリーバージョンを保持するように設定されていました。その結果、データがデータベースに無期限に蓄積され、ディスク領域を占有し、最悪の場合、リポジトリーを削除できなくなります。バージョン 4.7 以降では、バージョン制限が 5 のリポジトリーが追加されます。つまり、常に最新の 5 つのバージョンのみが保持され、古いバージョンは自動的に削除されます。ただし、以前に追加された既存のリポジトリーのバージョン制限を設定し、古いバージョンを削除することもできます。これをすべてのリポジトリーに対して一度に実行することも、一度に 1 つのリポジトリーを処理することもできます。
これを行うためのコマンドは次のとおりです。
[root@rhua ~]# rhua rhui-manager repo set_retain_versions [--repo_id <ID> or --all] --versions <NUMBER>たとえば、すべてのリポジトリーのバージョン数を 5 に制限するには、次のコマンドを実行します。
[root@rhua ~]# rhua rhui-manager repo set_retain_versions --all --versions 5
リポジトリーの数と既存のリポジトリーのバージョンによっては、必要なすべてのタスクをスケジュールするのに 1 時間以上かかる場合があり、制限よりも古いバージョンが削除されるまでに数日かかる場合があります。rhui-manager テキストユーザーインターフェイスの同期画面の実行中のタスクで進行状況を確認できます。
3.15. 孤立したアーティファクトの削除 リンクのコピーリンクがクリップボードにコピーされました!
RPM パッケージ、repodata ファイル、およびその他の関連ファイルは、リポジトリーの一部ではなくなった場合でもディスク上に保持されます。たとえば、リポジトリーが削除され、ファイルが別のリポジトリーに属していない場合や、更新が利用可能になり、新しい repodata ファイルセットが同期されている場合などです。
このような古いコンテンツを削除するには、次のコマンドを実行します。
[root@rhua ~]# rhua rhui-manager repo orphan_cleanup
ファイルの数によっては、このタスクが完了するまでに数日かかる場合があります。rhui-manager テキストユーザーインターフェイスの同期画面の実行中のタスクで進行状況を確認できます。
3.16. RHUI リポジトリーのステータスファイルの生成 リンクのコピーリンクがクリップボードにコピーされました!
rhui-manager コマンドを使用すると、各リポジトリーのステータスを機械判読可能な形式で取得できます。
手順
RHUA ノードで、以下のコマンドを実行します。
# rhua rhui-manager --noninteractive status --repo_json <output_file>*すべてのカスタムリポジトリーおよび Red Hat リポジトリーのディクショナリーリストを含む JSON ファイルが生成されます。ファイルの内容を表示するには、次のコマンドを実行してください。
# rhua cat <output_file>ホスト上で JSON ファイルを表示したい場合は、以下のコマンドを使用して
/rootディレクトリーにファイルを作成できます。# rhua rhui-manager --noninteractive status --repo_json /root/<output_file>これで、ホストマシン上の出力ファイルに
/var/lib/rhui/root/<output_file>としてアクセスできるようになります。
3.17. リポジトリーステータス JSON ファイル内のディクショナリーキーのリスト リンクのコピーリンクがクリップボードにコピーされました!
各 RHUI リポジトリーのステータスを取得するコマンドを実行すると、機械判読可能な JSON ファイルが作成されます。JSON ファイルには、リポジトリーごとに 1 つのディクショナリーを含むディクショナリーのリストが含まれています。
カスタムリポジトリーのディクショナリーキーのリスト
| Key | 説明 |
|---|---|
| base_path | リポジトリーのパス。 |
| description | リポジトリーの名前。 |
| group |
リポジトリーが属するグループ。これは常に文字列、 |
| id | リポジトリー ID。 |
| name | リポジトリーの名前。リポジトリー ID と同じです。 |
Red Hat リポジトリーの辞書キーリスト
| Key | 説明 |
|---|---|
| base_path | リポジトリーのパス。 |
| description | リポジトリーの名前。 |
| group |
リポジトリーが属するグループ。これは常に文字列 |
| id | リポジトリー ID。 |
| last_sync_date |
リポジトリーが最後に同期された日時。リポジトリーが一度も同期されていない場合、値は |
| last_sync_exception |
リポジトリーの同期に失敗した場合に発生する例外。リポジトリーが正しく同期された場合、値は |
| last_sync_result | 同期タスクの結果。 値は以下のようになります。
|
| last_sync_traceback |
リポジトリーの同期に失敗した場合に記録されたトレースバック。リポジトリーが正しく同期された場合、または一度も同期されなかった場合、値は |
| metadata_available | リポジトリーでメタデータが利用可能かどうかを示すブール値。 |
| name | リポジトリーの名前。リポジトリー ID と同じです。 |
| next_sync_date |
次にスケジュールされているリポジトリーの同期の日時。同期タスクが現在実行中の場合、値は |
| repo_published | このリポジトリーが RHUI で公開されているかどうかを示すブール値。デフォルトでは、RHUI はリポジトリーを自動的に公開するように設定されている点に注意してください。 |
第4章 コンテナーの管理 リンクのコピーリンクがクリップボードにコピーされました!
4.1. コンテナーの管理 リンクのコピーリンクがクリップボードにコピーされました!
RHUI を使用して、Linux コンテナー内のアプリケーションのデプロイメントを自動化できます。コンテナーを使用すると、次の利点があります。
- 仮想マシンよりも必要なストレージとメモリー内領域が少なくなります。コンテナーにはアプリケーションの実行に必要なものだけが保持されるため、オペレーティングシステム全体が含まれる仮想マシンよりも、コンテナーのほうが保存と共有が効率的です。
- パフォーマンスの向上: 完全に独立したオペレーティングシステムを実行していないため、コンテナーは通常、新しい VM のオーバーヘッドを運ぶアプリケーションよりも高速に実行されます。
- セキュア: 通常、コンテナーには独自のネットワークインターフェイス、ファイルシステム、およびメモリーがあるため、そのコンテナーで実行されているアプリケーションは、ホストコンピューター上の他のアクティビティーから分離して保護できます。
- 柔軟: アプリケーションのランタイム要件がコンテナー内のアプリケーションに組み込まれているため、コンテナーは複数の環境で実行できます。
4.1.1. Red Hat Update Infrastructure におけるコンテナーの理解 リンクのコピーリンクがクリップボードにコピーされました!
コンテナーはアプリケーションのサンドボックスです。各コンテナーは、必要な設定データを保持するイメージに基づいています。イメージからコンテナーを起動すると、書き込み可能な階層がこのイメージの上部に追加されます。コンテナーをコミットするたびに、変更を保存する新しいイメージ層が追加されます。
イメージは、変更されることのない読み取り専用レイヤーです。変更はすべて最上位の書き込み可能なレイヤーで行われ、新規イメージを作成することによってのみ保存できます。各イメージは、複数の親イメージに依存します。
プラットフォームイメージは、親のないイメージです。プラットフォームイメージは、コンテナー化されたアプリケーションの実行に必要なランタイム環境、パッケージ、およびユーティリティーを定義します。プラットフォームイメージは読み取り専用であるため、その上部にスタックされたコピーイメージに変更が反映されます。
4.1.2. Red Hat Update Infrastructure にコンテナーを追加する リンクのコピーリンクがクリップボードにコピーされました!
rhau rhui-manager ツールを使用すると、リポジトリー管理セクションからコンテナーを追加できます。
手順
RHUI 環境でコンテナーサポートを有効にするには、
/etc/rhui/rhui-tools.conf ファイルを編集し、以下の設定を使用してコンテナーサポートを設定します。[container] container_support_enabled: TrueRed Hat コンテナーレジストリーの認証情報を RHUI の設定に保存する場合は、
コンテナーセクションに以下の行を追加してください。[container] registry_username: your_RH_login registry_password: your_RH_passwordこの新しい設定をすべての CDS ノードに適用するには、次のコマンドを実行します。
# rhua rhui-manager --noninteractive cds reinstall --all[container] registry_username: your_RH_login registry_password: your_RH_password通常、
registry.redhat.ioとは異なるレジストリーから同期する場合は、それに応じて registry_url オプションと registry_auth オプションの値も変更します。RHUA ノードで、
rhui-managerを実行します。# rhua rhui-managerrを押して、Repository Management 画面にアクセスします。-= Red Hat Update Infrastructure Management Tool =- -= Repository Management =- l list repositories currently managed by the RHUI i display detailed information on a repository a add a new Red Hat content repository ac add a new Red Hat container c create a new custom repository (RPM content only) d delete a repository from the RHUI u upload content to a custom repository (RPM content only) ur upload content from a remote web site (RPM content only) p list packages in a repository (RPM content only) Connected: rhua.example.comacを押して、新しい Red Hat コンテナーを追加します。rhui (repo) => ac Specify URL of registry [https://registry.redhat.io]:-
追加するコンテナーがデフォルト以外のレジストリーに存在する場合は、レジストリーの URL を入力します。デフォルトのレジストリーを使用するには、何も入力せずに
Enterキーを押します。 レジストリーにコンテナーの名前を入力します。
jboss-eap-6/eap64-openshiftコンテナーの一意の ID を入力します。
rhui-managerは、スラッシュとドットをアンダースコアに置き換えることにより、コンテナーの名前をレジストリーから Pulp で使用できる形式に変換します。Enter キーを押すか、任意の名前を入力することで、このように変換された名前を使用できます。コンテナーの表示名を入力します。
jboss-eap-6_eap64-openshift- オプション: プロンプトが表示されたら、RHUI 設定でログインとパスワードを設定します。
表示された概要を確認します。
The following container will be added: Registry URL: https://registry.redhat.io Container Id: jboss-eap-6_eap64-openshift Display Name: jboss-eap-6_eap64-openshift Upstream Container Name: jboss-eap-6/eap64-openshift Proceed? (y/n)yを押して続行し、コンテナーを追加します。y Successfully added container jboss-eap-6_eap64-openshift
4.1.3. コンテナーリポジトリーの同期 リンクのコピーリンクがクリップボードにコピーされました!
コンテナーを Red Hat Update Infrastructure に追加した後、rhui-manager ツールを使用してコンテナーを同期できます。
手順
RHUA ノードで、
rhua rhui-managerを実行します。# rhua rhui-manager-
sを押して、synchronization status and scheduling画面にアクセスします。 -
srを押して、個々のリポジトリーを即時に同期します。 - 同期するリポジトリーの数を入力します。
-
cを押して選択を確認します。 リポジトリーを確認し、
yを押して同期するか、nを押してキャンセルします。The following repositories will be scheduled for synchronization: jboss-eap-6_eap64-openshift Proceed? (y/n) y Scheduling sync for jboss-eap-6_eap64-openshift... ... successfully scheduled for the next available timeslot.
4.1.4. コンテナークライアント設定の生成 リンクのコピーリンクがクリップボードにコピーされました!
RHUI クライアントは、クライアント設定を使用して RHUI からコンテナーをプルできます。RPM にはロードバランサーの証明書が含まれており、これを使用して、ロードバランサーをコンテナーレジストリーに追加し、コンテナー設定を変更できます。
手順
RHUA ノードで、
rhui-managerを実行します。# rhua rhui-manager-
eを押して、entitlement certificates and client configuration RPMs画面にアクセスします。 -
dを押して、create a container client configuration RPM(コンテナークライアント設定 RPM の作成) を実行します。 設定ファイルを保存するローカルディレクトリーの完全パスを入力します。
/root/RPM の名前を入力します。
containertest-
設定 RPM のバージョン番号を入力します。デフォルトは
2.0です。 -
設定 RPM のリリース番号を入力します。デフォルトは
1です。 証明書が有効な日数を入力します。デフォルトは
365です。Successfully created client configuration RPM. Location: /root/containertest-2.0/build/RPMS/noarch/containertest-2.0-1.noarch.rpm
4.1.5. クライアントへのコンテナー設定 RPM のインストール リンクのコピーリンクがクリップボードにコピーされました!
コンテナー設定 RPM を生成したら、それをローカルマシンにインポートすることでクライアントにインストールできます。
手順
RPM を RHUA ノードからローカルマシンに取得します。
# scp root@rhua.example.com:/var/lib/rhui/root/containertest-2.0/build/RPMS/noarch/containertest-2.0-1.noarch.rpm .RPM をローカルマシンからクライアントに転送します。
# scp containertest-2.0-1.noarch.rpm root@cli01.example.com:.クライアントに切り替え、RPM をインストールします。
[root@cli01 ~]# dnf install containertest-2.0-1.noarch.rpm
4.1.6. クライアントでの podman pull コマンドのテスト リンクのコピーリンクがクリップボードにコピーされました!
podman pull コマンドを使用して、コンテナーのコンテンツを確認できます。
手順
podman pullコマンドを実行します。[root@cli01 ~]# podman pull jboss-eap-6_eap64-openshift Resolving "jboss-eap-6_eap64-openshift" using unqualified-search registries (/etc/containers/registries.conf) Trying to pull cds.example.com/jboss-eap-6_eap64-openshift:latest... Getting image source signatures Copying blob b0e0b761a531 done Copying blob aa23ac04e287 done Copying blob 0d30ea1353f9 done Copying config 3d0728c907 done Writing manifest to image destination Storing signatures 3d0728c907d55d9faedc4d19de003f21e2a1ebdf3533b3d670a4e2f77c6b35d2podman pullコマンドが失敗した場合は、rhui-managerのステータスを確認します。同期がまだ実行されていない可能性があり、同期するまで待機する必要があります。Resolving "jboss-eap-6_eap64-openshift" using unqualified-search registries (/etc/containers/registries.conf) Trying to pull cds.example.com/jboss-eap-6_eap64-openshift:latest... Error: initializing source docker://cds.example.com/jboss-eap-6_eap64-openshift:latest: reading manifest latest in cds.example.com/jboss-eap-6_eap64-openshift: manifest unknown: Manifest not found.
第5章 エンタイトルメント証明書とクライアント設定 RPM の作成 リンクのコピーリンクがクリップボードにコピーされました!
5.1. エンタイトルメント証明書とクライアント設定 RPM の作成 リンクのコピーリンクがクリップボードにコピーされました!
RHUI はエンタイトルメント証明書を使用して、リポジトリーで要求を行うクライアントが、クラウドプロバイダーによって、これらのリポジトリーへのアクセスが許可されているようにします。エンタイトルメント証明書は、クラウドプロバイダーの CA 証明書 (CA) で署名されている必要があります。CA 証明書が設定の一部として CDS にインストールされている。
5.2. Red Hat Update Infrastructure Management Tool でのクライアントエンタイトルメント証明書の作成 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat が元のエンタイトルメント証明書を発行すると、リクエストしたリポジトリーへのアクセスが許可されます。クライアントエンタイトルメント証明書を作成すると、クライアントを細分化して、それぞれに個別の証明書を作成する方法を決定します。その後、各証明書を使用して個別の RPM を作成できます。
前提条件
- エンタイトルメント証明書が、クラウドプロバイダーの CA 証明書で署名されている。
手順
Red Hat Update Infrastructure Management Tool のホーム画面に移動します。
[root@rhua ~]# rhua rhui-manager-
eを押して create entitlement certificates and client configuration RPMs を選択します。 -
eを押して generate an entitlement certificate を選択します。 プロンプトでリポジトリーの番号を入力して、エンタイトルメント証明書に含めるリポジトリーを選択します。リポジトリー数を入力すると、リポジトリー名前の横に x が付けられます。追加するすべてのリポジトリーがチェックされるまで続行します。
重要単一の RHEL バージョンのリポジトリーのみを単一のエンタイトルメントに含めます。複数の RHEL バージョンのリポジトリーを追加すると、
dnf設定ファイルが使用不能になる。-
プロンプトで
cを押して確定します。 証明書の名前を入力します。この名前は、Red Hat Update Infrastructure Management Tool 内で証明書を識別し、証明書ファイルとキーファイルの名前を生成するのに役立ちます。
Name of the certificate. This will be used as the name of the certificate file (name.crt) and its associated private key (name.key). Choose something that will help identify the products contained with it.- 証明書を保存するパスを入力します。フィールドを空白のままにして、現在の作業ディレクトリーに保存します。
証明書が有効な日数を入力します。365 日の場合はフィールドを空白のままにしておきます。証明書に含まれるリポジトリーの詳細が表示されます。
Repositories to be included in the entitlement certificate: Red Hat Repositories Red Hat Enterprise Linux 10 for ARM 64 - AppStream (Debug RPMs) from RHUI Red Hat Enterprise Linux 10 for ARM 64 - AppStream (RPMs) from RHUI Red Hat Enterprise Linux 10 for ARM 64 - AppStream (Source RPMs) from RHUI Proceed? (y/n)-
プロンプトで
yを押して、情報を確認し、エンタイトルメント証明書を作成します。
検証
エンタイトルメント証明書が作成されると、同様のメッセージが表示されます。
..........................+++++ ....+++++ Entitlement certificate created at ./rhel10-for-rhui5.crt ------------------------------------------------------------------------------
5.3. CLI でのクライアントエンタイトルメント証明書の作成 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat が元のエンタイトルメント証明書を発行すると、リクエストしたリポジトリーへのアクセスが許可されます。クライアントエンタイトルメント証明書を作成すると、クライアントを細分化して、それぞれに個別の証明書を作成する方法を決定します。その後、各証明書を使用して個別の RPM を作成できます。
前提条件
- エンタイトルメント証明書が、クラウドプロバイダーの CA 証明書で署名されている。
手順
以下のコマンドを使用して、CLI からエンタイトルメント証明書を作成します。
# rhua rhui-manager client cert --repo_label rhel-10-for-x86_64-appstream-eus-rhui-source-rpms --name rhuiclientexample --days 365 --dir /root/clientcert .............................................+++++ ...............................................................................+++++ Entitlement certificate created at /root/clientcert/rhuiclientexample.crt注記ID ではなく、Red Hat リポジトリーラベルを使用します。すべてのラベルのリストを取得するには、
rhui-manager client labelsコマンドを実行します。保護されたカスタムリポジトリーを証明書に含める場合は、代わりにリポジトリーの ID を使用します。
検証
エンタイトルメント証明書の作成に成功した場合も同様のメッセージが表示されます。
Entitlement certificate created at /root/clientcert/rhuiclientexample.crt
5.4. CLI でのクライアント設定 RPM の作成 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat が元のエンタイトルメント証明書を発行すると、リクエストしたリポジトリーへのアクセスが許可されます。クライアントエンタイトルメント証明書を作成する場合、クライアントを細分化し、クライアントごとに個別の証明書を作成する方法を決定する必要があります。次に、各証明書を使用して、適切なゲストイメージへのインストール用に個別の RPM を作成できます。
この手順では、CLI で RPM を作成します。
手順
以下のコマンドを使用して、RHUI CLI で RPM を作成します。
# rhua rhui-manager client rpm --entitlement_cert /root/clientcert/rhuiclientexample.crt --private_key /root/clientcert/rhuiclientexample.key --rpm_name clientrpmtest --dir /root --unprotected_repos unprotected_repo1 Successfully created client configuration RPM. Location: /root/clientrpmtest-2.0/build/RPMS/noarch/clientrpmtest-2.0-1.noarch.rpm注記CLI を使用する場合、RHUI リポジトリーで使用するプロキシーサーバーの URL を指定することもできます。また、
_none_(アンダースコアを含む) を使用して、クライアントマシン上のグローバルなdnf設定を上書きすることもできます。プロキシーを指定するには、--proxyパラメーターを使用します。
検証
クライアント設定 RPM の作成に成功した場合も同様のメッセージが表示されます。
Successfully created client configuration RPM. Location: /root/clientrpmtest-2.0/build/RPMS/noarch/clientrpmtest-2.0-1.noarch.rpm
5.5. Red Hat Update Infrastructure Management Tool でのクライアント設定 RPM の作成 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat が元のエンタイトルメント証明書を発行すると、リクエストしたリポジトリーへのアクセスが許可されます。クライアントエンタイトルメント証明書を作成する場合、クライアントを細分化し、クライアントごとに個別の証明書を作成する方法を決定する必要があります。次に、各証明書を使用して、適切なゲストイメージへのインストール用に個別の RPM を作成できます。
この手順では、RHUI 管理ツールで RPM を作成します。
以下の手順では、RHUA コンテナー内に RPM パッケージを作成します。最適な結果を得るには、コンテナー内のディレクトリーがホスト上でマウントポイントとして利用できるものを使用してください。
手順
Red Hat Update Infrastructure Management Tool のホーム画面に移動します。
[root@rhua ~]# rhua rhui-manager-
eを押して create entitlement certificates and client configuration RPMs を選択します。 -
Client Entitlement Management 画面で
cを押し、create a client configuration RPM from an entitlement certificate を選択します。 ローカルディレクトリーの完全なパスを入力し、設定ファイルを保存します。
Full path to local directory in which the client configuration files generated by this tool should be stored (if this directory does not exist, it will be created):- RPM の名前を入力します。
- 設定 RPM のバージョンを入力します。デフォルトのバージョンは 2.0 です。
- 設定 RPM のリリースを入力します。デフォルトのリリースは 1 です。
- 特定のリポジトリーへのアクセスをクライアントに許可するエンタイトルメント証明書への完全なパスを入力します。
- エンタイトルメント証明書の秘密鍵への完全パスを入力します。
- クライアント設定に含める保護されていないカスタムリポジトリーを選択します。
-
選択を確認する場合は
cを押すか、他のコマンドの場合は?を押します。
検証
RPM が正常に作成されても、同様のメッセージが表示されます。
Successfully created client configuration RPM. Location: /root/clientrpmtest-2.0/build/RPMS/noarch/clientrpmtest-2.0-1.noarch.rpm
5.6. CLI を使用したクライアント設定 RPM のリポジトリー ID 接頭辞の変更 リンクのコピーリンクがクリップボードにコピーされました!
RPM の作成時に、カスタムリポジトリー ID 接頭辞を設定するか、完全に削除できます。これは、RHUA コンテナー内のメイン設定ファイル /etc/rhui/rhui-tools.conf を編集することで設定できます。デフォルトでは、接頭辞は rhui- です。
手順
RHUA ノードで、メイン設定ファイルからプレフィックスを編集または削除します。
カスタム接頭辞を設定します。
[rhui] client_repo_prefix: myrhui-接頭辞を使用しない場合は、空の値を設定してください。
[rhui] client_repo_prefix:
5.7. 一般的なクライアント RPM のワークフロー リンクのコピーリンクがクリップボードにコピーされました!
CCSP(認定クラウドサービスプロバイダー) として、RHEL の様々なバージョンと、その上に構築できる多様なレイヤード製品を提供することができます。このコンテンツを提供する Red Hat リポジトリーに加えて、これらの RHEL バージョンおよびレイヤード製品のクライアント設定 RPM のアップデートを提供するためのカスタムリポジトリーも必要になります。個別に販売される RHEL の各バージョンおよび各レイヤード製品ごとに、カスタムリポジトリーを作成する必要があります。たとえば、基本となる RHEL 10 製品と、RHEL 上の SAP 製品には、それぞれ個別のカスタムリポジトリーが必要になります。これらのカスタムリポジトリーに、対応するクライアント設定 RPM を格納します。これらの RPM を更新 (新しいリポジトリーの追加や期限切れの証明書の更新など) するたびに、対応するカスタムリポジトリーに新しいバージョンをアップロードします。
改ざんされていない正式なパッケージをユーザーが確実にインストールできるように、すべての RPM に GPG 鍵で署名することを推奨します。ただし、パッケージへの署名は RHUI の範囲外です。そのため、社内で利用可能なツールを使用してクライアント設定 RPM に署名する必要があります。カスタムリポジトリーを作成する場合、必要なのは、RHUA 上のパブリック GPG 公開鍵をカスタムリポジトリーで使用できるように設定することだけです。鍵は rhui-manager によってクライアント設定 RPM に自動的に追加され、dnf 設定内のカスタムリポジトリーに使用されます。
手順
次の例では、x86_64 アーキテクチャー上のベース RHEL 10 用のクライアント設定 RPM のカスタムリポジトリーを作成します。
# rhua rhui-manager repo create_custom --protected --repo_id client-config-rhel-10-x86_64 --display_name "RHUI Client Configuration for RHEL 9 on x86_64" --gpg_public_keys /root/RPM-GPG-KEY-my-cloud必要に応じて別のリポジトリー ID と表示名を使用することもできます。また、実際の GPG 鍵ファイルを指定してください。
関連する Red Hat リポジトリーを追加します。以下の YAML ファイルには、バージョン管理されていないリポジトリーを使用した、x86_64 アーキテクチャー上のベース RHEL 10 の典型的なリポジトリーセットが含まれています。
# cat rhel-10-x86_64.yaml name: Red Hat Enterprise Linux 10 on x86_64 repo_ids: - codeready-builder-for-rhel-10-x86_64-rhui-debug-rpms-8 - codeready-builder-for-rhel-10-x86_64-rhui-rpms-8 - codeready-builder-for-rhel-10-x86_64-rhui-source-rpms-8 - rhel-10-for-x86_64-appstream-rhui-debug-rpms-8 - rhel-10-for-x86_64-appstream-rhui-rpms-8 - rhel-10-for-x86_64-appstream-rhui-source-rpms-8 - rhel-10-for-x86_64-baseos-rhui-debug-rpms-8 - rhel-10-for-x86_64-baseos-rhui-rpms-8 - rhel-10-for-x86_64-baseos-rhui-source-rpms-8 - rhel-10-for-x86_64-supplementary-rhui-debug-rpms-8 - rhel-10-for-x86_64-supplementary-rhui-rpms-8 - rhel-10-for-x86_64-supplementary-rhui-source-rpms-8上記の YAML ファイルを使用してこれらすべてのリポジトリーを追加および同期するには、次のコマンドを実行します。
# rhua rhui-manager repo add_by_file --file rhel-10-x86_64.yaml --sync_nowエンタイトルメント証明書を作成します。証明書で許可されるリポジトリーラベルのリストが必要です。リポジトリーのラベルは、リポジトリー ID と同一であることが多いですが、リポジトリー ID に特定の RHEL マイナーバージョンが含まれている場合は例外で、その場合はラベルにはマイナーバージョンは含まれず、メジャーバージョンのみが含まれます。ベースとなる RHEL リポジトリーの場合、ID は同一であるため、上記の YAML ファイルから次の Python コードを使用して抽出できます。
import yaml with open("rhel-10-x86_64.yaml") as repoyaml: repodata = yaml.safe_load(repoyaml) print(",".join(repodata["repo_ids"]))出力をクリップボードにコピーし、環境変数 ($labels など) として保存します。
# labels=<paste the contents of the clipboard here>エンタイトルメント証明書を作成する際には、RHEL リポジトリーのラベルに加えて、カスタムリポジトリーもコンマ区切りのラベルリストに追加する必要があります。以下のコマンドを実行して、RHEL リポジトリーとカスタムリポジトリーの両方へのアクセスを許可するエンタイトルメント証明書を作成します。
# rhua rhui-manager client cert --name rhel-10-x86_64 --dir /root --days 3650 --repo_label $labels,client-config-rhel-10-x86_64会社のポリシーで証明書の有効期間が 1 年、2 年などに制限されている場合は、それに応じて
--days引数の値を変更します。このコマンドは
、/root/rhel-10-x86_64.crt と/root/rhel-10-x86_64.keyというファイルを作成します。これらのファイルは次のステップで必要になります。クライアント設定 RPM を作成します。
# rhua rhui-manager client rpm --dir /tmp --rpm_name rhui-client-rhel-10-x86_64 --rpm_version 1.0 --entitlement_cert /root/rhel-10-x86_64.crt --private_key /root/rhel-10-x86_64.key任意の RPM 名またはバージョンを使用してください。上記の値を指定すると、コマンドによって RPM が作成され、その場所が出力されます。場所は次のとおりです。
`/tmp/rhui-client-rhel-10-x86_64-1.0/build/RPMS/noarch/rhui-client-rhel-10-x86_64-1.0-1.noarch.rpm` . Transfer this RPM from the RHUA to your system and sign it with the appropriate GPG key—the private key that corresponds to the public key that you used as the `--gpg_public_keys` parameter when you created the custom repository. You can then, for example, have the signed RPM preinstalled on RHEL 8 x86_64 images in your cloud environment. You also need to transfer the signed RPM back to the RHUA and upload it to the custom repository for RHEL 8 on x86_64:# rhua rhui-manager packages upload --repo_id client-config-rhel-10-x86_64 --packages /root/signed/rhui-client-rhel-10-x86_64-1.0-1.noarch.rpm
検証
カスタムリポジトリーの内容を確認します。
# rhua rhui-manager packages list --repo_id client-config-rhel-10-x86_64このコマンドは、アップロードした RPM ファイルを出力するためのものです。
CDS ノードと HAProxy ノードを設定 (このガイドで後ほど説明) してから、テスト仮想マシンにクライアント設定 RPM をインストールし、テスト仮想マシンで次のコマンドを実行して、関連するすべてのリポジトリーへのアクセスを確認することもできます。
# dnf -v repolistこのコマンドは、設定済みの RHEL 8 リポジトリーと、クライアント設定 RPM 用のカスタムリポジトリーを表示することを目的としています。
クライアント設定 RPM の更新
クライアント設定 RPM を再ビルドする必要がある場合は、バージョン番号を増やします。
前回の呼び出しで
1.0を使用した場合は、2.0などを使用します。他のパラメーターはそのままにします。# rhua rhui-manager client rpm --dir /tmp --rpm_name rhui-client-rhel-10-x86_64 --rpm_version 2.0 ...再度、新しい RPM に署名し、RHUA に転送して、カスタムリポジトリーにアップロードします。
# rhua rhui-manager packages upload --repo_id client-config-rhel-10-x86_64 --packages /root/signed/rhui-client-rhel-10-x86_64-2.0-1.noarch.rpm- これで、以前のバージョンの RPM がインストールされているクライアント仮想マシンを新しいバージョンに更新できます。新しい RPM をアップロードしたときに、更新されたリポジトリーデータを dnf で再ロードするには、クライアント仮想マシン上の dnf キャッシュを消去する必要がある場合があります。
1 つのエンタイトルメント証明書で x86_64 リポジトリーと ARM64 リポジトリーを組み合わせないでください。このような証明書を使用して rhui-manager によってクライアント設定 RPM を作成すると、ターゲットクライアント仮想マシン上で両方のアーキテクチャーへのアクセスが提供されるため、競合が発生する可能性があります。その場合、rh-cloud.repo ファイルを変更し、rhui-manager の外部で RPM を再ビルドする必要があります。クライアント設定 RPM を作成する際に --dir/tmp を使用した限り、アーティファクトは /tmp/rhui-client-rhel-10-x86_64-1.0/build/ に保存されることに注意してください。RPM パッケージの再構築に関する詳細は、RHEL ドキュメントの ソフトウェアのパッケージングと配布を 参照してください。
現在、特定のリポジトリー (たとえば、-debug リポジトリーや -source リポジトリー) がデフォルトで無効になっている状態で rhui-manager に rh-cloud.repo ファイルを作成させることはできません。その場合、rh-cloud.repo ファイルを変更し、rhui-manager の外部で RPM を再ビルドする必要があります。この問題は BZ#1772156 で追跡されています。
第6章 Red Hat 証明書の管理 リンクのコピーリンクがクリップボードにコピーされました!
6.1. Red Hat Update Appliance 証明書 リンクのコピーリンクがクリップボードにコピーされました!
RHUI の RHUA は以下の証明書およびキーを使用します。
- コンテンツ証明書および秘密鍵
- エンタイトルメント証明書および秘密鍵
- SSL 証明書および秘密鍵
- クラウドプロバイダーの CA 証明書
RHUA は、コンテンツ証明書とエンタイトルメント証明書で設定されます。RHUA はコンテンツ証明書を使用して Red Hat CDN に接続します。また、Red Hat CA 証明書を使用して Red Hat CDN への接続を確認します。RHUA は Red Hat CDN に接続する唯一のコンポーネントであるため、この証明書がデプロイされている RHUI コンポーネントは RHUA のみです。複数の RHUI インストールが同じコンテンツ証明書を使用できることに注意してください。たとえば、Amazon EC2 クラウドは、(リージョンごとに) RHUI インストールを複数実行しますが、各 RHUI インストールは同じコンテンツ証明書を使用します。
クライアントはエンタイトルメント証明書を使用して RHUI のパッケージへのアクセスを許可します。環境健全性チェックを実行するために、RHUA は各 CDS に対して dnf リクエストを試みます。dnf リクエストを成功させるには、有効なエンタイトルメント証明書を指定する必要があります。
6.2. コンテンツ配信サーバー証明書 リンクのコピーリンクがクリップボードにコピーされました!
RHUI の各 CDS ノードは以下の証明書およびキーを使用します。
- SSL 証明書および秘密鍵
- クラウドプロバイダーの CA 証明書
CDS に必要な唯一の証明書は SSL 証明書で、クライアントと CDS 間の HTTPS 通信を許可します。SSL 証明書は特定のホスト名にスコープ設定されているため、各 CDS ノードには一意の SSL 証明書が必要になります。CDS への接続時に SSL エラーが発生する場合は、証明書のコモンネームが、インストールされている CDS の完全修飾ドメイン名 (FQDN) に設定されていることを確認してください。
CA 証明書は、クライアントが dnf リクエストの一部として送信したエンタイトルメント証明書がクラウドプロバイダーによって署名されていることを検証するために使用されます。これにより、不正なインスタンスが RHUI 内で不正に使用するための独自のエンタイトルメント証明書を生成することを回避できます。
6.3. クライアント証明書 リンクのコピーリンクがクリップボードにコピーされました!
RHUI の各クライアントは、エンタイトルメント証明書と秘密鍵、およびクラウドプロバイダーの CA 証明書を使用します。
エンタイトルメント証明書とその秘密鍵により、CDS からクライアントへの情報の暗号化が有効になります。各クライアントは、CDS に接続する際にエンタイトルメント証明書を使用して、パッケージをダウンロードするパーミッションがあることを証明します。すべてのクライアントは単一のエンタイトルメント証明書を使用します。
クラウドプロバイダーの CA 証明書は、接続時に CDS の SSL 証明書を検証するために使用されます。これにより、悪意のあるインスタンスが CDS を偽装して、悪意のある可能性のあるパッケージをクライアントに導入することがなくなります。
CA 証明書は、エンタイトルメント証明書ではなく、SSL 証明書を検証します。CDS ノードの逆は true です。SSL 証明書と秘密鍵は、クライアントから CDS へのデータを暗号化するために使用されます。CDS 上にある CA 証明書は、CDS ノードがクライアントによって送信されたエンタイトルメント証明書を信頼する必要があることを確認します。
6.4. 証明書の対象製品をリスト表示 リンクのコピーリンクがクリップボードにコピーされました!
Entitlements Manager 画面は、現在の Red Hat コンテンツ証明書でエンタイトルメントの付いた製品のリストを表示し、新しい証明書をアップロードするのに使用されます。
手順
Red Hat Update Infrastructure Management Tool のホーム画面に移動します。
[root@rhua ~]# rhua rhui-manager-
nを押して manage Red Hat entitlement certificates を選択します。 Entitlements Manager 画面で
lを押して、現在のコンテンツ証明書に関するデータをリスト表示します。rhui (entitlements) => l Red Hat Enterprise Linux 10 for ARM 64 - AppStream (Debug RPMs) from RHUI Expiration: 02-27-2027 Certificate: c885597492374720bb5d398c3f65d1ed.pem Red Hat Enterprise Linux 10 for ARM 64 - AppStream (RPMs) from RHUI Expiration: 02-27-2027 Certificate: c885597492374720bb5d398c3f65d1ed.pem Red Hat Enterprise Linux 10 for ARM 64 - AppStream (Source RPMs) from RHUI Expiration: 02-27-2027 Certificate: c885597492374720bb5d398c3f65d1ed.pem Red Hat Enterprise Linux 10 for ARM 64 - BaseOS (Debug RPMs) from RHUI Expiration: 02-27-2027 Certificate: c885597492374720bb5d398c3f65d1ed.pem Red Hat Enterprise Linux 10 for ARM 64 - BaseOS (RPMs) from RHUI Expiration: 02-27-2027 Certificate: c885597492374720bb5d398c3f65d1ed.pem Red Hat Enterprise Linux 10 for ARM 64 - BaseOS (Source RPMs) from RHUI Expiration: 02-27-2027 Certificate: c885597492374720bb5d398c3f65d1ed.pem
検証
現在の Red Hat コンテンツ証明書には、対象となる製品のリストが表示されます。
第7章 コンテンツ配信サーバーの管理 リンクのコピーリンクがクリップボードにコピーされました!
7.1. コンテンツデリバリーサーバーの管理 リンクのコピーリンクがクリップボードにコピーされました!
CDS ノードは RHUI クライアントにコンテンツを提供します。
コンテンツ配信サーバー (CDS) 管理画面を使用すると、CDS ノードのリスト表示、追加、削除、および再インストールを行うことができます。
7.2. CDS の新規登録について リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Update Infrastructure Management Tool には、RHUI 内で CDS を設定するためのいくつかのオプションが用意されています。
前提条件
-
CDS ノードで
sshdが稼働しており、ポート 443が開いていることを確認する。
Update instance(s) after reinstalling? (y/n): という質問にはい (y) と答えると、インスタンスの登録後に dnf update がインスタンスで実行されます。これには、インスタンスの再起動が必要になる場合があります。この質問にいいえ (n) と答えると、dnf update は実行されません。
手順
Red Hat Update Infrastructure Management Tool のホーム画面に移動します。
[root@rhua ~]# rhua rhui-manager-
cを押して manage content delivery servers (CDS) を選択します。 -
Content Delivery Server (CDS) Management 画面で
aを押して、新しい CDS インスタンスを追加します。 追加する CDS のホスト名を入力します。
Hostname of the CDS instance to register: cds1.example.comCDS への SSH アクセスがあり、sudo 権限を持つユーザー名を入力します。
Username with SSH access to <cds1.example.com> and sudo privileges: <cloud-user>CDS にログインするために SSH 秘密鍵への絶対パスを入力し、
Enterを押します。Absolute path to an SSH private key to log into <cds1.example.com> as <cloud-user>: /home/<cloud-user>/.ssh/id_rsa_rhua利用可能なパッケージの最新バージョンでインスタンスを更新します。
Update instance after registering? (y/n): yオプション カスタム SSL 証明書を使用する場合は、カスタム SSL 証明書、SSL キー、および SSL crt ファイルへの絶対パスを入力します。
注記SSL 証明書を指定しない場合は、自動的に生成されます。
Optional absolute path to user supplied SSL key file: /home/<cloud-user>/custom_ssl.key Optional absolute path to user supplied SSL crt file: /home/<cloud-user>/custom_ssl.crt ......................................................................... The following CDS has been successfully added: Hostname: <cds1.example.com> SSH Username: <cloud-user> SSH Private Key: /home/<cloud-user>/.ssh/id_rsa_rhua The CDS will now be configured: .................................................................... The CDS was successfully configured.- コンテンツ配信サーバーを追加できない場合は、ファイアウォールルールが RHUA と CDS 間のアクセスを許可していることを確認します。
mountコマンドを実行して、共有ストレージが読み取り/書き込みとしてマウントされているかどうかを確認します。[root@rhua ~]# mount | grep rhui nfs.example.com:/export on /var/lib/rhui/remote_share type nfs4 (rw,relatime,vers=4.2,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.8.41.163,local_lock=none,addr=10.8.41.163)- 設定に成功すると、残りのすべての CDS ノードでこの手順を繰り返します。
7.3. RHUI 5 によって管理されている既知のすべての CDS インスタンスをリスト表示します。 リンクのコピーリンクがクリップボードにコピーされました!
RHUI 5} で管理されているすべての CDS ノードをリスト表示するには、コンテンツ配信サーバー (CDS) 管理 画面を使用できます。
手順
Red Hat Update Infrastructure Management Tool のホーム画面に移動します。
[root@rhua ~]# rhua rhui-manager-
cを押して、manage content delivery servers (CDS) を選択します。 コンテンツ配信サーバー (CDS) 管理 画面で、
lを押すと、RHUI 5} が管理する既知のすべての CDS ノードが表示されます。Hostname: <cds1.example.com> SSH Username: <cloud-user> SSH Private Key: /<cloud-user>/.ssh/id_rsa_rhua
7.4. CDS への設定の再インストールおよび再適用 リンクのコピーリンクがクリップボードにコピーされました!
CDS の設定を再インストールして再適用する必要がある場合に、状況が発生する可能性があります。Red Hat Update Infrastructure Management Tool を使用すると、この作業を簡単に実行できます。
前提条件
- CDS が少なくとも 1 つインストールされている。
Update instance(s) after reinstalling? (y/n): という質問にはい (y) と答えると、インスタンスの再インストール後に dnf update がインスタンスで実行されます。これには、インスタンスの再起動が必要になる場合があります。この質問にいいえ (n) と答えると、dnf update は実行されません。
手順
Red Hat Update Infrastructure Management Tool のホーム画面に移動します。
[root@rhua ~]# rhua rhui-manager-
cを押して manage content delivery servers (CDS) を選択します。 -
Content Delivery Server (CDS) Management 画面で、
rを押して、reinstall and reapply configuration to an existing CDS instance を選択します。Red Hat Update Infrastructure Management Tool は、すべての再インストールおよび再設定タスクを自動的に実行します。 再インストールする CDS を選択します。
1 - Hostname: <cds1.example.com> SSH Username: <cloud-user> SSH Private Key: /<cloud-user>/.ssh/id_rsa_rhua-
値を入力するか、
bを入力して中止してください: 1: 1 Update instance (s) after reinstall? (y/n) で y を入力します。
Checking that the RHUA services are reachable from the instance... Done. Installing and configuring the CDS... PLAY [Registering a CDS instance] ********************************************** ... TASK [Update CDS instance] ***************************************************** ok: [cds1.example.com] PLAY RECAP ********************************************************************* cloud-user@cds1.example.com : ok=24 changed=10 unreachable=0 failed=0 skipped=2 rescued=0 ignored=0 Done.
検証
コードの出力を表示して、CDS が正常に再インストールおよび再設定されたことを確認します。
Ensuring that instance ports are reachable ...
Done.
7.5. レガシー CA を受け入れる CDS の設定 リンクのコピーリンクがクリップボードにコピーされました!
CDS ノードは通常、RHUI 5 に現在設定されている認証局 (CA) によって署名されたエンタイトルメント証明書のみを受け入れます。メインの CA を変更したり、CA 証明書の期限が切れた場合にクライアントが引き続き機能できるように、以前に作成したその他の CA を受け入れることができます。RHUI 5 はレガシー CA の概念をサポートしており、CDS ノードに他の CA 証明書をインストールして使用可能にすることができます。
前提条件
-
すべての RHUI ノードがバージョン 5.0 以降で動作していることを確認してください。RHUI を以前のバージョンからインストールした場合は、まず
rhui-managerで CDS ノードを再インストールしてください。
手順
-
既存の CA 証明書を CDS ノードに転送し、
/etc/pki/rhui/legacy-ca/ディレクトリーに保存してください。 証明書からサブジェクトのハッシュ値を取得し、シェル変数に保持します。
#hash=`openssl x509 -hash -noout -in /etc/pki/rhui/legacy-ca/YOUR_CERT.crt`/etc/pki/tls/certs/ディレクトリーにある証明書ファイルへのシンボリックリンクを作成します。リンク名は、ハッシュ値と、0 から始まる未使用の番号を使用します。#ln -s /etc/pki/rhui/legacy-ca/YOUR_CERT.crt /etc/pki/tls/certs/$hash.0このアクションはすぐに有効になります。
証明書の受け入れを停止する場合は、シンボリックリンクと証明書ファイルを削除し、httpd サービスを再起動してください。
7.6. レガシー CA の受け入れ停止の CDS 設定 リンクのコピーリンクがクリップボードにコピーされました!
コンテンツ配信サーバー (CDS) ノードがレガシー認証局 (CA) を受け入れないように制限するには、それぞれの CA 証明書を削除します。
前提条件
- クライアントが対象の CA を使用していない。
手順
CDS ノードで、
/etc/pki/rhui/legacy/ディレクトリーに移動します。# cd /etc/pki/rhui/legacy/- オプション: 既存の CA 証明書をバックアップします。
制限する CA に対応する CA 証明書を削除します。
# rm example-legacy.crt
検証
- CDS ノードは、CA 証明書の削除直後にレガシー CA の受け入れを停止します。
7.7. CDS の登録解除 リンクのコピーリンクがクリップボードにコピーされました!
使用しない CDS インスタンスを登録解除 (削除) することができます。
手順
Red Hat Update Infrastructure Management Tool のホーム画面に移動します。
[root@rhua ~]# rhua rhui-manager-
cを押して manage content delivery servers (CDS) を選択します。 -
Content Delivery Server (CDS) Management 画面で
dを押して CDS インスタンスを削除します。 削除する CDS のホスト名を入力します。
Hostname of the CDS instance to unregister: cds1.example.com
第8章 HAProxy ロードバランシングインスタンスの管理 リンクのコピーリンクがクリップボードにコピーされました!
8.1. HAProxy ロードバランサーインスタンスの管理 リンクのコピーリンクがクリップボードにコピーされました!
クライアントの HTTPS 要求をすべての CDS サーバーに分散するには、負荷分散ソリューションを導入する必要があります。Red Hat Update Infrastructure5 はデフォルトで HAProxy を使用しますが、インストール時にどのロードバランシングソリューション (たとえば、クラウドプロバイダーのもの) を使用するかは、ユーザーが選択できます。HAProxy が使用されている場合は、挿入するノードの数を決定する必要もあります。
8.2. HAProxy ロードバランサーの新規登録について リンクのコピーリンクがクリップボードにコピーされました!
RHUI 5}は DNS を使用して CDN にアクセスします。ほとんどの場合、インスタンスは、クラウドのインフラストラクチャーの一部としてホストされる適切な DNS サーバーと通信するように事前設定する必要があります。独自の DNS サーバーを運用している場合、またはクライアントの DNS 設定を更新している場合は、dnf Could not contact any CDS load balancers のようなエラーが表示される可能性があります。このような場合は、DNS サーバーがリクエストのためにクラウドの DNS サーバーに転送していること、または DNS クライアントが名前解決のためにクラウドの DNS サーバーにフォールバックするように設定されていることを確認してください。
複数の HAProxy ノードを使用する場合は、rhui-installer の 実行時に --cds-lb-hostname パラメーターの値として使用されるホスト名 (このガイドでは cds.example.com) に対して、すべての HAProxy ノードの IP アドレスに解決されるラウンドロビン DNS エントリーが必要です。DNS Round Robin の設定方法 により、ラウンドロビン DNS を設定する方法があります。RHUI 5} のコンテキストでは、これらは HAProxy ノードの IP アドレスとなり、rhui-installer を 呼び出す際に --cds-lb-hostname として指定されたホスト名にマッピングされます。
Update instance(s) after reinstalling? (y/n): という質問にはい (y) と答えると、インスタンスの登録後に dnf update がインスタンスで実行されます。これには、インスタンスの再起動が必要になる場合があります。この質問にいいえ (n) と答えると、dnf update は実行されません。
前提条件
-
HAProxy ロードバランサーノードで
sshdが稼働しており、port 443が開いていることを確認する。
手順
Red Hat Update Infrastructure Management Tool のホーム画面に移動します。
[root@rhua ~]# rhua rhui-manager-
lを押して、manage HAProxy load-balancer instances を選択します。 -
Load-balancer (HAProxy) Management 画面で
aを押して、新しいロードバランサーインスタンスを追加します。 新しいロードバランサーのホスト名を入力します。
Hostname of the HAProxy Load-balancer instance to register: <haproxy1.example.com>ロードバランサーへの SSH アクセスがあり、sudo 権限を持つユーザー名を入力します。
Username with SSH access to cds.example.com and sudo privileges: <cloud-user>ロードバランサーインスタンスにログインするために SSH 秘密鍵に絶対的な部分を入力し、
Enterを押します。Absolute path to an SSH private key to log into cds.example.com as <cloud-user>: /<cloud-user>/.ssh/id_rsa_rhua利用可能なパッケージの最新バージョンでインスタンスを更新します。
Update instance after registering? (y/n): yオプション: ユーザーが指定した HAProxy 設定ファイルへのオプションの絶対パスを入力し、
Enter キーを押します。カスタム設定ファイルへのパスを指定しない場合は、代わりにデフォルトのファイル
/usr/share/rhui-tools/templates/haproxy.cfgが使用されます。Optional absolute path to user supplied HAProxy config file: ......................................................................... The following load-balancer has been successfully added: Hostname: <haproxy1.example.com> SSH Username: <cloud-user> SSH Private Key: /<cloud-user>/.ssh/id_rsa_rhua The load-balancer will now be configured:- ロードバランサーの追加に失敗した場合、ファイアウォールのルールで RHUA とロードバランサー間のアクセスが許可されているか確認してください。
- 設定に成功すると、残りのロードバランサーインスタンスにこの手順を繰り返します。
検証
以下のメッセージが表示されます。
The HAProxy Load-balancer was successfully configured.
8.3. RHUI 5 によって管理されている既知の HAProxy ロードバランサーインスタンスをすべてリスト表示します。 リンクのコピーリンクがクリップボードにコピーされました!
ロードバランサー (HAProxy) 管理 画面を使用すると、RHUI 5}が管理している既知のすべての HAProxy ロードバランサーインスタンスを表示できます。
手順
Red Hat Update Infrastructure Management Tool のホーム画面に移動します。
[root@rhua ~]# rhua rhui-manager-
lを押して、manage HAProxy load-balancer instances を選択します。 Load-balancer (HAProxy) Management 画面で
lを押すと、RHUI が管理するロードバランサーインスタンスがリスト表示されます。Hostname: <haproxy1.example.com> SSH Username: <cloud-user> SSH Private Key: /<cloud-user>/.ssh/id_rsa_rhua
8.4. HAProxy ロードバランサーの再インストールと設定の再適用について リンクのコピーリンクがクリップボードにコピーされました!
HAProxy ロードバランサーの設定を再インストールして再適用する必要がある場合に、状況が発生する可能性があります。Red Hat Update Infrastructure Management Tool を使用すると、この作業を簡単に実行できます。
前提条件
-
HAProxy ロードバランサーノードで
sshdが稼働しており、port 443が開いていることを確認する。
復元に含まれるファイルは、現在の属性を保持することが重要です。
Update instance(s) after reinstalling? (y/n): という質問にはい (y) と答えると、インスタンスの再インストール後に dnf update がインスタンスで実行されます。これには、インスタンスの再起動が必要になる場合があります。この質問にいいえ (n) と答えると、dnf update は実行されません。
手順
Red Hat Update Infrastructure Management Tool のホーム画面に移動します。
[root@rhua ~]# rhua rhui-manager-
lを押して、manage HAProxy load-balancer instances を選択します。 Load-balancer (HAProxy) Management 画面で
rを押すと、ロードバランサーのインスタンスに設定を再インストールして再適用します。Red Hat Update Infrastructure Management Tool は、すべての再インストールおよび再設定タスクを自動的に実行します。
再インストールするロードバランサーを選択します。
1 - Hostname: <haproxy1.example.com> SSH Username: <cloud-user> SSH Private Key: /<cloud-user>/.ssh/id_rsa_rhua-
値を入力するか、
bを入力して中止してください: 1: 1 Update instance (s) after reinstall? (y/n) で y を入力します。
Installing and configuring the HAProxy Load-balancer... PLAY [Registering a load balancer instance] ************************************ ... TASK [Update load balancer instance] ******************************************* ok: [haproxy1.example.com] PLAY RECAP ********************************************************************* cloud-user@haproxy1.example.com : ok=8 changed=3 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 Done.
検証
コードの出力を表示して、ロードバランサーが正常に再インストールおよび再設定されたことを確認します。
Ensuring that HAProxy is available...
Done.
8.5. HAProxy ロードバランサーの登録解除 リンクのコピーリンクがクリップボードにコピーされました!
使用しない HAProxy ロードバランサーのインスタンスを登録解除 (削除) することができます。
前提条件
-
HAProxy ロードバランサーノードで
sshdが稼働しており、port 443が開いていることを確認する。
手順
Red Hat Update Infrastructure Management Tool のホーム画面に移動します。
[root@rhua ~]# rhua rhui-manager-
lを押して、manage HAProxy load-balancer instances を選択します。 -
Load-balancer (HAProxy) Management 画面で
dを押してロードバランサーインスタンスを削除します。 削除するロードバランサーのホスト名を入力してください。
Hostname of the load-balancer instance to unregister: <haproxy1.example.com>
第9章 同期ステータスとスケジューリング リンクのコピーリンクがクリップボードにコピーされました!
9.1. Synchronization の状況確認とスケジューリング リンクのコピーリンクがクリップボードにコピーされました!
リポジトリーは、ソフトウェアパッケージ (RPM) のストレージの場所です。RHEL は dnf コマンドを使用してリポジトリーを検索し、RPM パッケージをダウンロード、インストール、および更新します。RPM には、アプリケーションの実行に必要なすべての依存関係が含まれます。
Red Hat コンテンツの初期同期にかかる時間は、状況によって異なります。リポジトリーをできるだけ早く同期する場合は、CLI で rhui-manager repo sync_all を 実行することで、Red Hat Update Infrastructure 5 のすべてのリポジトリーを同期できます。
9.2. リポジトリー同期の概要表示 リンクのコピーリンクがクリップボードにコピーされました!
Synchronization Status 画面では、特定のリポジトリーに関する情報を表示することができます。
手順
Red Hat Update Infrastructure Management Tool のホーム画面に移動します。
[root@rhua ~]# rhua rhui-manager-
sを押して、同期のステータスとスケジューリング を選択します。 Synchronization Status 画面から、
drを押します。-= Repository Summary Synchronization Status =- Last Refreshed: 02:01:22 (updated every 5 seconds, ctrl+c to exit) Last Sync Last Result ------------------------------------------------- Red Hat Enterprise Linux 10 for ARM 64 - BaseOS (Debug RPMs) from RHUI (10) Never None .... .... Red Hat Enterprise Linux 10 for x86_64 - AppStream from RHUI (Debug RPMs) (10.1) 2026-07-29 17:45:41 Running Associating Content: 11001 (97%) Downloading Artifacts: 7376
9.3. 実行同期の表示 リンクのコピーリンクがクリップボードにコピーされました!
Synchronization Status 画面では、実行同期タスクの状況を確認することができます。
手順
Red Hat Update Infrastructure Management Tool のホーム画面に移動します。
[root@rhua ~]# rhua rhui-manager-
sを押して、同期のステータスとスケジューリング を選択します。 Synchronization Status 画面から
rrを押します。Last Refreshed: 02:06:46 (updated every 5 seconds, ctrl+c to exit) Current Sync Result ------------------------------------------------- Red Hat Enterprise Linux 10 for x86_64 - AppStream from RHUI (Debug RPMs) (10.0) 2026-07-29 17:45:41 Running Associating Content: 11001 (97%) Downloading Artifacts: 7376
9.4. 前回のリポジトリー同期の詳細を表示 リンクのコピーリンクがクリップボードにコピーされました!
Synchronization Status 画面では、前回のリポジトリー同期の詳細を確認することができます。
手順
Red Hat Update Infrastructure Management Tool のホーム画面に移動します。
[root@rhua ~]# rhua rhui-manager-
sを押して、同期のステータスとスケジューリング を選択します。 -
Synchronization Status 画面から
vrを押します。 詳細を確認するリポジトリーの番号を入力します。
Enter value (1-66) or 'b' to abort:
検証
選択したリポジトリーが同期されていない場合も同様のメッセージが表示されます。
Repo: Red Hat Enterprise Linux 8 for x86_64 - AppStream from RHUI (Debug RPMs) (8.2)
No syncs have been completed for this repository.
9.5. 個別リポジトリーの即時同期 リンクのコピーリンクがクリップボードにコピーされました!
コンテンツの初期同期には、通常 10 分から 20 分かかります。リポジトリーをできるだけ早く同期することを選択した場合は、CLI で rhui-manager repo sync_all を 実行することで、RHUI 5} のすべてのリポジトリーを同期できます。
手順
Red Hat Update Infrastructure Management Tool のホーム画面に移動します。
[root@rhua ~]# rhua rhui-manager-
sを押して、同期のステータスとスケジューリング を選択します。 Synchronization Status 画面から
srを押します。Select one or more repositories to schedule to be synchronized before its scheduled time. The sync will happen as soon as possible depending on other tasks that may be executing in the RHUI. Sync requests for repositories with tasks in running or pending state will be ignored. Last Result Next Sync Repository -------------------------------------------------リポジトリー名の横にある値を入力してリポジトリーを選択します。製品の選択を確認する前に、一度に 1 つのリポジトリー選択を入力します。
x 714: Error 2026-11-17 20:30:00 Red Hat Enterprise Linux 10 for ARM 64 - AppStream (RPMs) from RHUI (10.0)確認するには
cを押してください。The following repositories will be scheduled for synchronization: Red Hat Enterprise Linux 10 for ARM 64 - AppStream (RPMs) from RHUI (10.0) Proceed? (y/n) yyを押して続行します。Scheduling sync for Red Hat Enterprise Linux 10 for ARM 64 - AppStream (RPMs) from RHUI (10.0)... ... successfully scheduled for the next available timeslot.注記このメッセージは、選択したリポジトリーのタスクが実行中であるかどうかを示します。
現在実行中のタスクによってリポジトリーが予約されているため、Red Hat Enterprise Linux 10 for x86_64 - AppStream from RHUI (Debug RPMs) (10.0) の同期要求を無視します。
9.6. アクティブな同期タスクのキャンセル リンクのコピーリンクがクリップボードにコピーされました!
ほとんどの環境では、スケジュールされているリポジトリーを同期します。アクティブな同期タスクをキャンセルする必要がある状況が発生する場合があります。
前提条件
- 既存のリポジトリーがある。
- アクティブな同期タスクがある。
手順
Red Hat Update Infrastructure Management Tool のホーム画面に移動します。
[root@rhua ~]# rhua rhui-manager-
sを押して、同期のステータスとスケジューリング を選択します。 -
Synchronization Status 画面から
caを押して、cancel active sync tasks を選択します。 取り消すタスクまたはタスクの値を入力します。
Select one or more repositories for which you want to cancel their active tasks. - 1: Red Hat Enterprise Linux 10 for x86_64 - AppStream from RHUI (Debug RPMs) (10.0) Enter value (1-1) to toggle selection, 'c' to confirm selections, or '?' for more commands:-
選択を確定するには
cを押してください。 yを押して、1 つまたは複数の同期タスクをキャンセルします。The active tasks will be canceled for the following repositories: Red Hat Enterprise Linux 8 for x86_64 - AppStream from RHUI (Debug RPMs) (10.0) Proceed? (y/n)
検証
アクティブな同期タスクをキャンセルすると、この例と同様のメッセージが表示されます。
Canceling active task for repo Red Hat Enterprise Linux 10 for x86_64 - AppStream from RHUI (Debug RPMs) (10.0) ...
... done
9.7. リポジトリーの自動公開ステータスの表示と変更 リンクのコピーリンクがクリップボードにコピーされました!
Synchronization Status 画面では、リポジトリーの自動公開ステータスを確認変更することができます。
手順
Red Hat Update Infrastructure Management Tool のホーム画面に移動します。
[root@rhua ~]# rhua rhui-manager-
sを押して、同期のステータスとスケジューリング を選択します。 Synchronization Status 画面から、
apを押します。rhui (sync) => ap Select one or more repositories to toggle the auto-publish status. The operation will be executed as soon as possible depending on other tasks that may be executing in the RHUI. Status | Repository -------------------------------------------------------------------------- Select one or more repositories: Custom Repositories Red Hat Repositories: dnf - 713: AUTO Red Hat Enterprise Linux 10 for ARM 64 - AppStream (RPMs) from RHUI (10) - 714: AUTO Red Hat Enterprise Linux 10 for ARM 64 - AppStream (RPMs) from RHUI (10.1)選択を切り替えるには値 (
1-1631) を入力し、選択を確定するにはcを入力し、その他のコマンドを表示するには?を入力してください。The following repositories will have their auto-publish status changed: Red Hat Repositories dnf Red Hat Enterprise Linux 10 for ARM 64 - AppStream (RPMs) from RHUI (10.0)-
選択を確定するには
cを押してください。 -
yを押して先に進みます。
検証
選択して確定したときにも同様のメッセージが表示されます。
Scheduling a task to turn off auto-publish status of repository Red Hat Enterprise Linux 10 for ARM 64 - AppStream (RPMs) from RHUI (10)
9.8. リポジトリーのワークフローの表示と進行 リンクのコピーリンクがクリップボードにコピーされました!
Synchronization Status 画面を使用して、リポジトリーのワークフローを確認したり変更したりすることができます。
手順
Red Hat Update Infrastructure Management Tool のホーム画面に移動します。
[root@rhua ~]# rhua rhui-manager-
sを押して、同期のステータスとスケジューリング を選択します。 -
Synchronization Status 画面から
wfを押します。 選択を切り替えるには値 (
1-1631) を入力し、選択を確定するにはcを入力し、その他のコマンドを表示するには?を入力してください。The following repositories will be scheduled for workflow push: Red Hat Repositories dnf Red Hat Enterprise Linux 10 for ARM 64 - AppStream (RPMs) from RHUI (10)-
yを押して続行します。
検証
スケジューリングに成功した場合も同様のメッセージが表示されます。
Scheduling a task for generating metadata version 0 for repo Red Hat Enterprise Linux 10 for ARM 64 - AppStream (RPMs) from RHUI (10) ...
... task scheduled.
9.9. リポジトリーのファイルシステムへのエクスポート リンクのコピーリンクがクリップボードにコピーされました!
リポジトリーは、その内容を更新した最近の同期後に自動的にエクスポートされます。
Synchronization Status 画面を使用すると、いつでもリポジトリーをファイルシステムに強制的にエクスポートできます。
手順
Red Hat Update Infrastructure Management Tool のホーム画面に移動します。
[root@rhua ~]# rhua rhui-manager-
sを押して、同期のステータスとスケジューリング を選択します。 -
Synchronization Status 画面から、
exを押します。 - 値を入力すると、選択が切り替わります。
cを押して選択を確認します。The following repositories will be exported: Red Hat Repositories dnf Red Hat Enterprise Linux 10 for ARM 64 - AppStream (Source RPMs) from RHUI (10)-
yを押して先に進みます。
検証
リポジトリーがファイルシステムにエクスポートされている場合も、同様のメッセージが表示されます。
[1/1] Exporting version 1 of the repo Red Hat Enterprise Linux 10 for ARM 64 - AppStream (Source RPMs) from RHUI (10).
9.10. RHUI systemd/タイマー リンクのコピーリンクがクリップボードにコピーされました!
Systemd タイマーは、.timer で終わる systemd ユニットファイルであり 、.service ファイルまたはイベントを制御します。Red Hat Update Infrastructure では、特に RHUA ノード上で、いくつかの反復的なタスクが自動的にスケジュールされ実行されます。
| タイマーファイル | 目的 | 頻度 | ログファイル |
|---|---|---|---|
|
| 同期されたコンテンツをエクスポートする | 5 分ごと。ランダム化 |
|
|
| 孤立したコンテンツを削除する | 毎週水曜日の午前 4 時 |
|
|
| Pulp によって残された一時ファイルを削除する | 毎週火曜日の午前 3 時 |
|
|
| カスタムリポジトリーへのアップロード内容から一時ディレクトリーをクリーンアップする | 5 分ごと。ランダム化 |
|
| rhui リポジトリー同期タイマー | 予定時刻が来たらリポジトリーを同期する | 5 分ごと。ランダム化 | (該当なし。代わりに systemd ジャーナルを参照してください) |
| rhui-symlinks-cleanup-deepscan.timer | 削除されたアーティファクトへの壊れたシンボリックリンクをすべて削除する | 毎年 1 月 16 日から 22 日の間の火曜日の午前 4 時 | /root/.rhui/rhui.log |
| rhui-synchronize-subscriptions.timer | エンタイトルメント証明書の変更を確認し、必要に応じて新しい証明書をインポートする | 1 時間ごと、ランダム化 |
|
| rhui-update-mappings.timer | 利用可能なマイナーバージョンに関する情報を更新する | 6 時間ごと。ランダム化 |
|
systemd/timers のパラメーター:
-
タイマーファイルは、RHUA コンテナー内の
/usr/lib/systemd/systemに保存されます。 -
ログファイルのパスはすべて RHUA コンテナー内にあります。RHUA ホスト上では
、/var/log/rhuiは/var/lib/rhui/logとしても利用可能であり、/root/.rhuiは/var/lib/rhui/root/.rhuiとしても利用可能であることに注意してください。 - RHUA コンテナーが起動または再起動されると、タイマーはランダム化されます。
-
すべての RHUI タイマーを表示するには、RHUA コンテナーで次のコマンドを実行します。systemctl
list-timers --all rhui\*
第10章 RHUI のバックアップ リンクのコピーリンクがクリップボードにコピーされました!
10.1. Red Hat Update Infrastructure のバックアップ リンクのコピーリンクがクリップボードにコピーされました!
RHUI サーバーのインストールと設定が完了したら、バックアップを取っておくことを推奨します。RHUI に何らかの問題が発生した場合に備えて、RHUI のバックアップを取っておくと便利です。このような場合、RHUI を復元することで以前の作業設定に戻すことができます。
RHUI を正常にバックアップするには、Red Hat Update Appliance (RHUA) をバックアップする必要があります。
10.2. Red Hat Update Appliance のバックアップ リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Update Appliance (RHUA) をバックアップするには、関連するすべてのファイルとストレージをバックアップする必要があります。
RHUA をバックアップするには、関連するサービスを停止する必要があります。ただし、クライアントはコンテンツ配信サーバー (CDS) にのみ接続されているため、サービスを停止しても、クライアントインスタンスがパッケージの更新またはインストールを無効にすることはありません。したがって、自動モニタリングソリューションを導入している場合、バックアッププロセス中にモニタリングが失敗する可能性があります。
手順
RHUA サービスを停止する:
# systemctl stop rhui_rhuaサービスが停止したかどうかを確認します。
# systemctl status rhui_rhua以下のファイルをバックアップします。
# rsync -av --exclude .local --exclude remote_share /var/lib/rhui/ /BACKUP/DIRECTORY/重要ファイルをバックアップするときに、ファイルが現在の属性を保持していることを確認してください。
生成されたクライアントエンタイトルメント証明書とクライアント設定 RPM をバックアップします。
オプション: ファイルサーバーに別のバックアップソリューションを使用せずに、RHUA からリモート共有をバックアップする場合は、次のコマンドを使用します。
# rsync -av /var/lib/rhui/remote_share/ /ANOTHER/BACKUP/DIRECTORY/
RHUI サービスを再起動します。
# systemctl start rhui_rhua
10.3. コンテンツ配信サーバーのバックアップ リンクのコピーリンクがクリップボードにコピーされました!
CDS をバックアップするには、関連するすべてのファイルとストレージをバックアップする必要があります。
サービスが完全に失われないようにするために、一度に 1 つの CDS ノードをバックアップしてください。クライアントは、実行中の他の CDS ノードに自動的に切り替わります。
手順
nginxサービスを停止します。# systemctl stop nginxnginxサービスが停止していることを確認します。# systemctl status nginx以下のファイルをバックアップします。
# cp -a <source_files_path> <destination_files_path>重要ファイルをバックアップするときに、ファイルが現在の属性を保持していることを確認してください。
ファイルのリスト:
- /etc/nginx/*
- /var/log/nginx/*
- /etc/pki/rhui/*
RHUI サービスを再起動します。
# rhui-services-restart
第11章 設定ファイル、終了コード、ログファイル リンクのコピーリンクがクリップボードにコピーされました!
11.1. 設定ファイル リンクのコピーリンクがクリップボードにコピーされました!
RHUI 5 では、以下の設定ファイル、RHUI マネージャーの終了コード、およびログファイルが使用されます。
| コンポーネント | ファイルまたはディレクトリー | 用途 |
|---|---|---|
| Red Hat Update Appliance |
| Pulp 設定ファイル |
|
| rhui-manager 設定ファイル | |
|
| ||
|
| Red Hat Update Infrastructure の証明書 | |
|
| サブスクリプション同期スクリプトの設定 | |
| コンテンツ配信サーバー |
| CDS の証明書 |
| コンテンツ配信サーバー |
| SSL 設定ファイル |
| HAProxy |
| HAProxy 設定ファイル |
11.2. RHUI Manager 終了コード リンクのコピーリンクがクリップボードにコピーされました!
RHUI Manager は、以下のコードを使用して、rhui-manager status コマンドと rhui-manager CLI コマンドを実行した結果を示します。
| ステータスコード | 説明 |
|---|---|
| 0 | 成功 |
| 1 | 一般エラーまたはリポジトリー同期エラー |
| 2 | CDS での SSL 証明書エラー |
| 32 | エンタイトルメント CA 証明書または SSL 証明書の有効期限に関する警告 |
| 64 | エンタイトルメント CA 証明書または SSL 証明書の有効期限エラー |
| 128 | 1 つ以上の RHUI サービスが RHUA、CDS、または HAProxy ノードで実行されていません。 |
| 238 | 指定されたカスタムリポジトリーにアップロードするパッケージが見つかりませんでした。 |
| 239 | リポジトリーが存在しないため、削除できませんでした。 |
| 240 | 必要なリソースに問題がありました。たとえば、有効なリポジトリーが見つからなかったため、クライアント設定 RPM を構築できませんでした。 |
| 241 | 不明なリポジトリーが指定されたため、同期タスクをスケジュールできませんでした。 トラブルシューティングするには、以下を実行します。 * スペルを確認してください * 最初にリポジトリーを追加してください * Pulp の問題のログを確認してください |
| 242 | Pulp の問題のため、カスタムリポジトリーを作成できませんでした。詳細は、メッセージとログを確認してください。 |
| 243 | Red Hat リポジトリーを追加できなかったのは、一部がすでに RHUI に存在し、一部がエンタイトルメントで利用できなかったためです。 |
| 244 | カスタムリポジトリーは RHUI にすでに存在するため、作成できませんでした。 |
| 245 | Red Hat リポジトリーはすでに RHUI に存在するため、追加できませんでした。 |
| 246 |
エンタイトルメントに含まれていないため、Red Hat リポジトリーを追加できませんでした。スペルを確認するか、コマンド |
| 247 | Pulp の問題により、Red Hat リポジトリーを追加できませんでした。詳細は、メッセージとログを確認してください。 |
| 248 |
RHUI 3 から RHUI 4 への移行は、1 つ以上の Red Hat リポジトリーがすでに RHUI 4 に存在するため停止されました。リポジトリーを削除するか、 |
| 249 |
RHUI 設定 |
| 250 | エンタイトルメント証明書は、書き込み可能ではありません。 |
| 251 | エンタイトルメント証明書の有効期限が切れています。 |
| 252 | RHUI リポジトリーが含まれていないため、エンタイトルメント証明書は無効です。 |
| 253 | エンタイトルメント証明書ファイルは、有効な証明書ではありません。 |
| 254 | コマンドラインエラー: ネットワークの問題により、RHUI CLI を実行できませんでした。 |
| 255 | 引数エラー: 必須の引数が指定されていませんでした。 |
11.3. ログファイル リンクのコピーリンクがクリップボードにコピーされました!
この表に記載されているパスは、RHUI コンテナー内で有効です。
| コンポーネント | ファイルまたはディレクトリー | 用途 |
|---|---|---|
| Red Hat Update Appliance |
| Red Hat Update Infrastructure Management Tool ログ |
|
| Pulp のログ (リポジトリーの同期など) | |
|
| nginx のログ | |
|
| CDS および HAproxy 管理ログ、サービスステータスのログ | |
|
| サブスクリプションの同期ログ | |
|
| リポジトリーエクスポートのログ | |
|
| 一時ディレクトリークリーンアップのログ | |
|
| リポジトリーバージョンマッピングのログ | |
| コンテンツ配信サーバー |
| nginx のログ |
|
| クライアントのコンテンツ要求 | |
|
| CDS オーソライザープラグインのログ。デフォルトでは、エンタイトルメント証明書のないリクエスト | |
|
| CDS コンテンツマネージャープラグインのログ (オンデマンドパッケージのダウンロードなど) | |
|
| CDS ミラープラグインのログ。デフォルトでは、プラグインの起動から停止までのログのみ記録 | |
| クライアント |
RHEL 7 以前のバージョンでは | dnf コマンドログ |
| クライアント |
RHEL 8 以降のバージョンの | dnf コマンドログ |
|
| クライアント syslog |
保存されている古いログも参照してください。古いログには拡張子として番号またはタイムスタンプが付いています。場合によっては gzip で圧縮されています。
第12章 CCSP 認定資格取得ワークフロー リンクのコピーリンクがクリップボードにコピーされました!
12.1. 認定クラウドおよびサービスプロバイダー認定のワークフロー リンクのコピーリンクがクリップボードにコピーされました!
認定クラウドプロバイダー契約では、Red Hat がテナントインスタンスを作成するイメージ (テンプレート) を認定して、エンドユーザーに完全にサポートされる設定を確認する必要があります。
Red Hat Enterprise Linux のイメージを認証するには、2 つの方法があります。推奨される方法は、Certified Cloud and Service Provider (CCSP) イメージ認定ワークフローを使用することです。
Red Hat による認定審査後、合否判定が行われ、認定資格は Red Hat Ecosystem Catalog の Red Hat 認定資格公開ウェブサイトに掲載されます。
第13章 プロキシー設定の変更 リンクのコピーリンクがクリップボードにコピーされました!
13.1. プロキシー設定の変更 リンクのコピーリンクがクリップボードにコピーされました!
RHUI はプロキシーサーバーを使用して、Red Hat コンテンツを同期できます。RHUI のインストール時にプロキシーサーバーが指定されていない場合は、プロキシーサーバーは使用されません。それ以外の場合は、このプロキシーサーバーは、追加したすべての RHUI リポジトリーで使用されます。この章では、プロキシーサーバー設定を変更する方法を説明します。
13.2. 新しいプロキシーサーバーの設定または既存のプロキシーサーバーの設定解除 リンクのコピーリンクがクリップボードにコピーされました!
必要に応じて、次の手順を実行します。
- プロキシーサーバーの設定なしでインストールされた RHUI 環境でプロキシーサーバーの使用を開始する。
- 現在のプロキシーサーバーの設定を編集する。たとえば、サーバーのホスト名が変更された場合などです。
- RHUI 環境がインストールされたプロキシーサーバーの使用を停止する。
手順
プロキシーサーバーの設定を設定 (または設定解除) するには、ローカルオーバーライドファイル
/etc/rhui/rhui-tools.confを作成 (または編集) して、以下の内容を記述します。[proxy] proxy_protocol: <PROTOCOL> proxy_host: <HOSTNAME> proxy_port: <PORT> proxy_user: <USERNAME> proxy_pass: <PASSWORD>すると、パラメーターは以下のようになります。
-
PROTOCOL はプロキシーサーバーを設定する場合はhttpまたはhttps のいずれかです。設定を解除する場合、ローカルファイルを使用する場合は、値を空のままにします。 -
HOSTNAMEは新しいプロキシーサーバーのホスト名です。ローカルファイルを使用する際に設定をクリアする場合は、この値を空のままにしてください。 -
PORTはプロキシーサーバーがリッスンしている TCP ポート番号で、通常は3128 です。ローカルファイルを使用する際に設定をクリアする場合は、この値を空のままにしてください。 -
USERNAMEはオプションのパラメーターです。プロキシーサーバーに認証情報が必要な場合にのみ使用してください。そうでない場合、またはローカルファイルを使用する際に設定をクリアする場合は、値を空のままにするか、proxy_user:オプションをまったく使用しないでください。 -
PASSWORDはオプションのパラメーターです。プロキシーサーバーに認証情報が必要な場合にのみ使用してください。そうでない場合、またはローカルファイルを使用する際に設定をクリアする場合は、値を空のままにするか、proxy_user:オプションをまったく使用しないでください。 すべてのコマンドは RHUA コンテナー内で実行する必要があります。
重要この新しい設定は、設定が更新された後に追加された Red Hat リポジトリーにのみ適用されます。この新しい設定を既存のリポジトリーに適用するには、リポジトリーを削除、追加、および再同期する必要があります。
これにより、削除した瞬間から再同期するまで停止状態が続きます。ただし、すでに同期されたパッケージは Red Hat CDN から再度ダウンロードする必要はありません。RHUI は主に、すべての repodata ファイルを解析し、どのパッケージがどこに属しているかを判断する必要があります。これには数時間かかる場合があります。
rhui-managerの外部には、技術的に、既存のリポジトリー (つまり、いわゆる remotes) のプロキシーフィールドを変更できる手段がありますが、そのような手段の使用はサポートされていません。
-
-
リポジトリーを再度追加できるように、リポジトリーのリスト (複数可) があることを確認してください。そのようなリストがない場合は、
rhui-managerを使用して、現在追加されているすべての Red Hat リポジトリーを含むファイルを生成できます。 Red Hat リポジトリーのリストを生成するには、まず 1 行に 1 つの ID を含む生のリストを作成します。
rhui-manager --noninteractive repo list --redhat_only --ids_only > /root/rawlist次に、リポジトリーを含む YAML ファイルを作成します。まずスタブを作成します。
echo -e "name: all Red Hat repositories\nrepo_ids:" > /root/repo_list.yml次に、生のリストからリポジトリーを YAML リスト項目として追加します。
sed "s/^/ - /" /root/rawlist >> /root/repo_list.ymlRHUI からすべての Red Hat リポジトリーを削除します。
テキストユーザーインターフェイスを使用するか、コマンドラインで 1 つずつ削除します。後者の場合、先ほど作成した生のリストを使用できます。
while read repo; do rhui-manager --noninteractive repo delete --repo_id $repo; done < /root/rawlist注記リポジトリーは、非同期のバックグラウンドタスクで削除されます。つまり、利用可能な Pulp ワーカーによってキューに入れられ、実行されます。実際にすべてのリポジトリーを削除するには、数十分または数時間かかる場合があります。完了までしばらくお待ちください。
リポジトリーが削除されたら、再度追加します。今回は新しいプロキシー設定 (またはプロキシー URL なし) で追加されます。リポジトリーを再同期する必要もあります。コマンドラインで 1 つの手順で追加および再同期できます。
rhui-manager --noninteractive repo add_by_file --file /root/repo_list.yml --sync_nowまたは、独自の方法 (例: 特定の順序) を使用して、リポジトリーを同期します。最後に、同期が自動的に開始されるまで待機することも可能です。開始時間は 6 時間後、または
/etc/rhui/rhui-tools.confのrepo_sync_frequencyで定義されている任意の時間です。重要その間リポジトリーは利用できません。
例:
プロキシーサーバーの使用を開始します。このサーバーには認証情報は必要ありません。ローカルファイルの場合:
[proxy] proxy_host: squid.example.com proxy_protocol: http proxy_port: 3128プロキシーサーバーのホスト名を変更します。その他はすべて同じままです。ローカルファイルの場合:
[proxy] proxy_host: newsquid.example.comプロキシーサーバーの使用を停止します。ローカルファイルの場合:
[proxy] proxy_protocol: proxy_host: proxy_port:
検証
rhui-manager ツールは、リポジトリーで使用されるプロキシーサーバーに関する情報を表示しません。ただし、以下に示すように pulpcore-manager ツールを使用できます。
sudo -u pulp env PULP_SETTINGS=/etc/pulp/settings.py /usr/bin/pulpcore-manager shell << EOM
from pulpcore.app.models import Remote
rem = Remote.objects.get(name="rhel-10-for-x86_64-baseos-rhui-rpms-8")
print(rem.proxy_url)
EOM
設定されたプロキシーサーバーの出力は以下のようになります。
http://squid.example.com:3128
指定のリポジトリーで設定されたプロキシーサーバーがない場合は None と出力されます。