Red Hat Update Infrastructure の設定および管理
Red Hat Update Infrastructure 4 の設定および修正
概要
多様性を受け入れるオープンソースの強化 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。まずは、マスター (master)、スレーブ (slave)、ブラックリスト (blacklist)、ホワイトリスト (whitelist) の 4 つの用語の置き換えから始めます。この取り組みは膨大な作業を要するため、用語の置き換えは、今後の複数のリリースにわたって段階的に実施されます。詳細は、Red Hat CTO である Chris Wright のメッセージ をご覧ください。
第1章 Red Hat Update Infrastructure 4 の概要 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Update Infrastructure 4 (Red Hat Update Infrastructure 4) は、スケーラビリティーが高く、冗長なフレームワークで、リポジトリーとコンテンツを管理できます。また、クラウドプロバイダーは、Red Hat Enterprise Linux (RHEL) インスタンスにコンテンツおよび更新を配信できます。アップストリームの Pulp プロジェクトに基づいて、RHUI を使用すると、クラウドプロバイダーは 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)
- ユーティリティーコマンド
- 証明書の管理
- コンテンツ管理
1.1. インストールオプション リンクのコピーリンクがクリップボードにコピーされました!
以下の表は、さまざまな Red Hat Update Infrastructure 4 コンポーネントを示しています。
| コンポーネント | 略語 | 機能 | 代替モジュール |
|---|---|---|---|
| Red Hat Update Appliance | RHUA | Red Hat コンテンツ配信ネットワークからコンテンツをダウンロードし、共有ストレージに保存します。 | なし |
| コンテンツ配信サーバー | CDS |
クライアントが更新パッケージ用に接続する | なし |
| HAProxy | なし | CDS ノード全体での負荷分散を提供する | 既存の負荷分散ソリューション |
| 共有ストレージ | なし | 共有ストレージを提供する | 既存のストレージソリューション |
以下の表は、インストールタスクを実行する方法を説明します。
| インストールタスク | 実行する場所 |
|---|---|
| RHEL 8 のインストール | RHUA、CDS、および HAProxy |
| RHUI コンシューマータイプでシステムを登録する | RHUA |
| デフォルトのコンシューマータイプでシステムを登録する | CDS および HAProxy |
| 更新の適用 | RHUA、CDS、および HAProxy |
|
| RHUA |
|
| RHUA |
1.1.1. オプション 1: 完全なインストール リンクのコピーリンクがクリップボードにコピーされました!
- 共有ストレージを備えた RHUA
- この共有ストレージを持つ 2 つ以上の CDS ノード
- 1 つ以上の HAProxy ロードバランサー
1.1.2. オプション 2: 既存のストレージソリューションを使用したインストール リンクのコピーリンクがクリップボードにコピーされました!
- 既存のストレージソリューションを備えた RHUA
- この既存のストレージソリューションを備えた 2 つ以上の CDS ノード
- 1 つ以上の HAProxy ロードバランサー
1.1.3. オプション 3: 既存のロードバランサーソリューションを使用したインストール リンクのコピーリンクがクリップボードにコピーされました!
- 共有ストレージを備えた RHUA
- この共有ストレージを持つ 2 つ以上の CDS ノード
- 既存のロードバランサー
1.1.4. オプション 4: 既存のストレージおよびロードバランサーソリューションを使用したインストール リンクのコピーリンクがクリップボードにコピーされました!
- 既存のストレージソリューションを備えた RHUA
- この既存の共有ストレージを備えた 2 つ以上の CDS ノード
- 既存のロードバランサー
Red Hat Update Infrastructure は、少なくとも 2 つの CDS ノードと 1 つのロードバランサーノードとともに使用する必要があります。ロードバランサーノードがなく、CDS ノードが 1 つだけのインストールはサポートされていません。
以下は、さまざまな Red Hat Update Infrastructure 4 コンポーネントがどのように対話するかに関する俯瞰図です。
図1.1 Red Hat Update Infrastructure 4 の概要
RHUA ノードおよび CDS ノードを別の x86_64 サーバー (ベアメタルまたは仮想マシン) にインストールします。RHUI に接続するサーバーおよびネットワークがすべて Red Hat Subscription Management サービスにアクセスできるようにします。
1.2. RHUI 4 コンポーネント リンクのコピーリンクがクリップボードにコピーされました!
RHUI の各コンポーネントが他のコンポーネントとどのように相互作用するかを理解することで、システム管理者としての仕事が少し楽になります。
1.2.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 設定ファイルには、RHUA で使用される一般的なオプション (証明書のデフォルトのファイルの場所、Red Hat CDN 同期のデフォルト設定パラメーターなど) が含まれます。通常、このファイルを編集する必要はありません。
/etc/rhui/rhui-subscription-sync.conf 設定ファイルには、Pulp データベースの認証情報が含まれています。この認証情報は、rhui-manager インターフェイスにログインするときに使用する必要があります。
RHUA は複数のサービスを使用して、配信を簡単にするためにコンテンツを同期し、整理し、配布します。
RHUA サービス
- Pulp
- リポジトリーを管理するサービス。
- PostgreSQL
- 現在同期されているリポジトリー、パッケージ、およびその他の重要なメタデータを追跡するために Pulp が使用するデータベース。
1.2.2. コンテンツ配信サーバー リンクのコピーリンクがクリップボードにコピーされました!
CDS ノードは、クライアントが更新したコンテンツ用に接続するリポジトリーを提供します。CDS は 1 つしかありません。RHUI はフェイルオーバー機能を備えたロードバランサーを提供するため、複数の CDS ノードを使用することが推奨されます。
エンドユーザーの RHEL システムへの CDS ノードホストコンテンツシステムの数は必要ありませんが、CDS はラウンドロビン形式の負荷分散方式 (A、B、C、A、B、C) で動作し、エンドユーザーシステムにコンテンツを提供します。CDS は HTTP を使用して、yum リポジトリー経由でエンドユーザーシステムにコンテンツを提供します。
設定時に、パッケージが同期される 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です (デフォルト値なし)。
-
- CephFS
CephFS を使用する場合は、CephFS を個別に設定し、RHUI をマウントポイントとして使用する必要があります。以下の
rhui-installerオプションは、このような設定を制御します。-
--remote-fs-serverは、使用する共有ファイルシステムのリモートマウントポイントです。たとえば、ceph.example.com:/path/to/shareです (デフォルト値なし)。
-
このドキュメントには、Ceph 共有ストレージを設定して設定する手順は含まれません。Ceph 関連のタスクは、システム管理者に問い合わせるか、Ceph ドキュメントを参照してください。
想定される使い方は、RHUA とすべての CDS ノードで、NFS などの 1 つの共有ネットワークファイルシステムを使用することです。クラウドプロバイダーは、RHUA がパッケージを書き込んで各 CDS が読み取る共有ストレージの形式を使用できます。
ストレージソリューションでは、RHUA ノードおよび CDS ノードにマウントするための NFS または CephFS エンドポイントを提供する必要があります。RHUI ノードには共有ファイルシステムのストレージを設定しないでください。独立したストレージサーバーを使用する必要があります。
各 CDS で行われる唯一の標準以外のロジックは、エンタイトルメント証明書チェックです。このチェックにより、クライアントが yum リポジトリーに対して要求を行うのが、クラウドプロバイダーがこれらのリポジトリーにアクセスする権限を付与するようになります。このチェックでは、以下の条件を確認します。
- エンタイトルメント証明書がクラウドプロバイダーの認証局 (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.2.3. HAProxy ロードバランサー リンクのコピーリンクがクリップボードにコピーされました!
クライアントの HTTPS 要求をすべての CDS サーバーに分散するには、負荷分散ソリューションを導入する必要があります。RHUI はデフォルトで HAProxy を使用しますが、インストール時に、使用する負荷分散ソリューション (たとえば、クラウドプロバイダーのもの) を自由に選択できます。HAProxy が使用されている場合は、挿入するノードの数を決定する必要もあります。
クライアントは CDS に直接移動するように設定されていません。リポジトリーファイルは、RHUI ロードバランサーである HAProxy を参照するように設定されます。HAProxy は特に高可用性環境に適した TCP/HTTP リバースプロキシーです。
既存のロードバランサーを使用する場合は、ロードバランサーでポート 443 が設定されており、クラスター内のすべての CDS がロードバランサーのプール内にあることを確認してください。
正確な設定は、使用する特定のロードバランサーソフトウェアによって異なります。ロードバランサーの設定方法を理解するには、一般的な HAProxy 設定から取られる以下の設定を参照してください。
[root@rhui4proxy ~]# cat /etc/haproxy/haproxy.cfg
global
chroot /var/lib/haproxy
daemon
group haproxy
log 10.10.153.149 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 10.10.153.149: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.2.4. リポジトリーおよびコンテンツ リンクのコピーリンクがクリップボードにコピーされました!
リポジトリーは、ソフトウェアパッケージ (RPM) のストレージの場所です。RHEL は、yum コマンドを使用して、リポジトリーを検索し、RPM のダウンロード、インストール、および更新を行います。RPM には、アプリケーションの実行に必要なすべての依存関係が含まれます。
RHUI に関連するコンテンツは、RHUA ノードおよび CDS ノードで使用する Red Hat CDN からダウンロードしたソフトウェア (RPM など) です。RPM は、特定のアプリケーションおよびツールの実行に必要なファイルを提供します。クライアントには、rpm パッケージが提供する SSL コンテンツ証明書と鍵のセットによるアクセスが付与されます。これは、生成された yum リポジトリーファイルのセットも提供します。
1.3. コンテンツプロバイダーのタイプ リンクのコピーリンクがクリップボードにコピーされました!
クラウドコンピューティング環境には、3 つのタイプがあります。
- パブリッククラウド
- プライベートクラウド
- ハイブリッドクラウド
このガイドでは、パブリッククラウドおよびプライベートクラウドに焦点を当てています。パブリッククラウド、プライベートクラウド、ハイブリッドクラウドの使用の影響を理解していることを前提としています。
1.4. コンポーネントの通信 リンクのコピーリンクがクリップボードにコピーされました!
すべての RHUI コンポーネントは、ポート 443 での HTTPS 通信プロトコルを使用します。
| ソース | 宛先 | プロトコル | 目的 |
|---|---|---|---|
| Red Hat Update Appliance | Red Hat コンテンツ配信ネットワーク | HTTPS | Red Hat からパッケージをダウンロードする。 |
| ロードバランサー | コンテンツ配信サーバー | HTTPS | リポジトリーのメタデータとパッケージに対するクライアントの要求を転送する。 |
| クライアント | ロードバランサー | HTTPS | クライアント上の yum がコンテンツをダウンロードするために使用する。 |
| コンテンツ配信サーバー | Red Hat Update Appliance | HTTPS | コンテンツに関する情報を Pulp API に要求する場合がある。 |
RHUI ノードでは、相互に通信するために以下のネットワークアクセスが必要です。
ネットワークポートを開放して、使用する予定のノードだけにネットワークアクセスが制限されていることを確認してください。
| ノード | Port | アクセス |
|---|---|---|
| RHUA | 443 | RHUA、CDS01、CDS02、… CDSn |
| HAProxy | 443 | クライアント |
1.5. 管理者パスワードの変更 リンクのコピーリンクがクリップボードにコピーされました!
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 ~]# 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章 リポジトリーの管理 リンクのコピーリンクがクリップボードにコピーされました!
2.1. 利用可能なリポジトリー リンクのコピーリンクがクリップボードにコピーされました!
認定クラウドおよびサービスプロバイダー (CCSP) パートナーは、自社のサービスを通じて配信されるリポジトリーとパッケージを管理します。さまざまなオペレーティングシステムバージョンで使用可能であるが、RHUI にまだ追加されていないリポジトリーに関する最新情報を確認するには、RHUA で次のコマンドを実行します。
# rhui-manager --noninteractive repo unused --by_repo_id
2.2. 新しい Red Hat コンテンツリポジトリーの追加 リンクのコピーリンクがクリップボードにコピーされました!
CCSP のアカウントを使用すると、選択した Red Hat リポジトリーにアクセスし、Red Hat Update Infrastructure 環境でそのリポジトリーを提供できます。
手順
Red Hat Update Infrastructure Management Tool のホーム画面に移動します。
[root@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 8 for ARM 64 - BaseOS (Debug RPMs) from RHUI Red Hat Enterprise Linux 8 for ARM 64 - BaseOS (RPMs) from RHUI Proceed? (y/n)yを押して続行します。メッセージは、それぞれのデプロイメントの成功を示します。Importing Red Hat Enterprise Linux 8 for ARM 64 - BaseOS (Debug RPMs) from RHUI... Importing product repository Red Hat Enterprise Linux 8 for ARM 64 - BaseOS (Debug RPMs) from RHUI (8.4)... Importing product repository Red Hat Enterprise Linux 8 for ARM 64 - BaseOS (Debug RPMs) from RHUI (8.3)... Importing product repository Red Hat Enterprise Linux 8 for ARM 64 - BaseOS (Debug RPMs) from RHUI (8.2)... Importing product repository Red Hat Enterprise Linux 8 for ARM 64 - BaseOS (Debug RPMs) from RHUI (8.1)... Importing product repository Red Hat Enterprise Linux 8 for ARM 64 - BaseOS (Debug RPMs) from RHUI (8.0)... Importing product repository Red Hat Enterprise Linux 8 for ARM 64 - BaseOS (Debug RPMs) from RHUI (8)... Importing Red Hat Enterprise Linux 8 for ARM 64 - BaseOS (RPMs) from RHUI... Importing product repository Red Hat Enterprise Linux 8 for ARM 64 - BaseOS (RPMs) from RHUI (8.4)... Importing product repository Red Hat Enterprise Linux 8 for ARM 64 - BaseOS (RPMs) from RHUI (8.3)... Importing product repository Red Hat Enterprise Linux 8 for ARM 64 - BaseOS (RPMs) from RHUI (8.2)... Importing product repository Red Hat Enterprise Linux 8 for ARM 64 - BaseOS (RPMs) from RHUI (8.1)... Importing product repository Red Hat Enterprise Linux 8 for ARM 64 - BaseOS (RPMs) from RHUI (8.0)... Importing product repository Red Hat Enterprise Linux 8 for ARM 64 - BaseOS (RPMs) from RHUI (8)... Content will not be downloaded to the newly imported repositories until the next sync is run.
検証
-
Repository Management 画面で
lを押し、正しいリポジトリーがインストールされていることを確認します。
2.3. RHUI 4 で現在管理しているリポジトリーのリスト表示 リンクのコピーリンクがクリップボードにコピーされました!
リポジトリーには、Linux ディストリビューション用のダウンロード可能なソフトウェアが含まれています。yum を使用して、リポジトリーから RPM の検索、インストール、またはダウンロードのみを行います。
手順
Red Hat Update Infrastructure Management Tool のホーム画面に移動します。
[root@rhua ~]# rhui-manager-
rを押して manage repositories を選択します。 Repository Management 画面で
lを押して、list repositories currently managed by the RHUI を選択します。... Red Hat Enterprise Linux 8 for ARM 64 - AppStream (RPMs) from RHUI (8) Red Hat Enterprise Linux 8 for ARM 64 - AppStream (RPMs) from RHUI (8.0) Red Hat Enterprise Linux 8 for ARM 64 - AppStream (RPMs) from RHUI (8.1) Red Hat Enterprise Linux 8 for ARM 64 - AppStream (RPMs) from RHUI (8.2) Red Hat Enterprise Linux 8 for ARM 64 - AppStream (RPMs) from RHUI (8.3) Red Hat Enterprise Linux 8 for ARM 64 - AppStream (RPMs) from RHUI (8.4) Red Hat Enterprise Linux 8 for ARM 64 - AppStream (Source RPMs) from RHUI (8) Red Hat Enterprise Linux 8 for ARM 64 - AppStream (Source RPMs) from RHUI (8.0) Red Hat Enterprise Linux 8 for ARM 64 - AppStream (Source RPMs) from RHUI (8.1) Red Hat Enterprise Linux 8 for ARM 64 - AppStream (Source RPMs) from RHUI (8.2) Red Hat Enterprise Linux 8 for ARM 64 - AppStream (Source RPMs) from RHUI (8.3) Red Hat Enterprise Linux 8 for ARM 64 - AppStream (Source RPMs) from RHUI (8.4) Red Hat Enterprise Linux 8 for ARM 64 - BaseOS (Debug RPMs) from RHUI (8) Red Hat Enterprise Linux 8 for ARM 64 - BaseOS (Debug RPMs) from RHUI (8.0) Red Hat Enterprise Linux 8 for ARM 64 - BaseOS (Debug RPMs) from RHUI (8.1) Red Hat Enterprise Linux 8 for ARM 64 - BaseOS (Debug RPMs) from RHUI (8.2) Red Hat Enterprise Linux 8 for ARM 64 - BaseOS (Debug RPMs) from RHUI (8.3) Red Hat Enterprise Linux 8 for ARM 64 - BaseOS (Debug RPMs) from RHUI (8.4) ...
2.4. リポジトリーの詳細情報の表示 リンクのコピーリンクがクリップボードにコピーされました!
Repository Management 画面では、特定のリポジトリーに関する情報を表示できます。
手順
Red Hat Update Infrastructure Management Tool のホーム画面に移動します。
[root@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 8 for ARM 64 - AppStream (Debug RPMs) from RHUI (8.4) ID: rhel-8-for-aarch64-appstream-debug-rhui-rpms-8.4 Type: Red Hat Version: 0 Relative Path: content/dist/rhel8/rhui/8.4/aarch64/appstream/debug GPG Check: Yes Custom GPG Keys: (None) Red Hat GPG Key: Yes Content Unit Count: Last Sync: 2021-11-15 15:56:06 Next Sync: 2021-11-15 22:00:00 Name: Red Hat Enterprise Linux 8 for ARM 64 - AppStream (RPMs) from RHUI (8.4) ID: rhel-8-for-aarch64-appstream-rhui-rpms-8.4 Type: Red Hat Version: 0 Relative Path: content/dist/rhel8/rhui/8.4/aarch64/appstream/os GPG Check: Yes Custom GPG Keys: (None) Red Hat GPG Key: Yes Content Unit Count: Last Sync: 2021-11-15 19:50:20 Next Sync: 2021-11-16 01:55:00 Name: Red Hat Enterprise Linux 8 for ARM 64 - AppStream (Source RPMs) from RHUI (8.4) ID: rhel-8-for-aarch64-appstream-source-rhui-rpms-8.4 Type: Red Hat Version: 0 Relative Path: content/dist/rhel8/rhui/8.4/aarch64/appstream/source/SRPMS GPG Check: Yes Custom GPG Keys: (None) Red Hat GPG Key: Yes Content Unit Count: Last Sync: 2021-11-15 15:56:51 Next Sync: 2021-11-15 22:00:00
検証
- 選択した内容にも同様の出力が表示されます。
2.5. リポジトリーステータスファイルの生成 リンクのコピーリンクがクリップボードにコピーされました!
すべての RHUI リポジトリーのステータスを表示し、いくつかの追加情報を提供する、機械判読可能な JSON ファイルを生成できます。これは、リポジトリーのステータスを受動的に監視する場合などに便利です。
2.5.1. RHUI リポジトリーのステータスファイルの生成 リンクのコピーリンクがクリップボードにコピーされました!
rhui-manager コマンドを使用すると、各リポジトリーのステータスを機械判読可能な形式で取得できます。
手順
RHUA ノードで、以下のコマンドを実行します。
rhui-manager --non-interactive status --repo_json <output file>すべてのカスタムリポジトリーおよび Red Hat リポジトリーのディクショナリーのリストを含む JSON ファイルが生成されます。利用可能なディクショナリーのリストは、「リポジトリーステータス JSON ファイル内のディクショナリーキーのリスト」 を参照してください。
2.5.2. リポジトリーステータス JSON ファイル内のディクショナリーキーのリスト リンクのコピーリンクがクリップボードにコピーされました!
各 RHUI リポジトリーのステータスを取得するコマンドを実行すると、機械判読可能な JSON ファイルが作成されます。JSON ファイルには、リポジトリーごとに 1 つのディクショナリーを含むディクショナリーのリストが含まれています。
カスタムリポジトリーのディクショナリーキーのリスト
| キー | 説明 |
|---|---|
| base_path | リポジトリーのパス。 |
| description | リポジトリーの名前。 |
| group |
リポジトリーが属するグループ。これは常に文字列、 |
| id | リポジトリー ID。 |
| name | リポジトリーの名前。リポジトリー ID と同じです。 |
Red Hat リポジトリーのディクショナリーキーのリスト
| キー | 説明 |
|---|---|
| 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 はリポジトリーを自動的に公開するように設定されている点に注意してください。 |
2.6. リポジトリーのオンデマンド同期の設定 リンクのコピーリンクがクリップボードにコピーされました!
RHUI では、特定のリポジトリーを on_demand 同期モードに設定することで、事前にストレージにダウンロードされるコンテンツの量を最小限に抑えることができます。この方法では、RHUI はクライアントマシンから要求された場合にのみコンテンツをダウンロードして保存するため、ストレージ使用量とコストが削減されます。ただし、この方法のマイナス面は、RHUI のパフォーマンスが Red Hat CDN ネットワークへの接続速度に依存することです。
リポジトリーコンテンツのタイプ
リポジトリーコンテンツには次の 3 つのタイプがあります。
- バイナリー RPM リポジトリー
- ソース RPM リポジトリー
- デバッグ RPM リポジトリー
同期ストラテジー
上記の各リポジトリータイプは、次のどちらかの同期ポリシーに設定できます。
- immediate
- on_demand
デフォルトでは、すべてのポリシーが immediate に設定されています。
同期ポリシーの設定
デフォルトでは、RHUA ノード上の /etc/rhui/rhui-tools.conf ファイルの [rhui] セクションに次の行が含まれています。
# Sync policy can be immediate or on_demand
default_sync_policy: immediate
default_sync_policy オプションは、3 つのタイプのコンテンツリポジトリーすべてに適用されます。
このファイルを編集することでポリシーを変更できますが、何らかの理由でインストーラーを再実行すると、変更内容が失われます。そのため、代わりにカスタム設定ファイルで同期ポリシーを設定してください。カスタム設定ファイルは /root/.rhui/rhui-tools-custom.conf に置かれますが、デフォルトでは存在しません。このファイルを使用するには、ファイルを作成し、そこに [rhui] セクションを配置します。次に、このセクションに特定のオーバーライドを追加して、特定のコンテンツタイプの動作をカスタマイズできます。利用可能なオプションは次のとおりです。
-
rpm_sync_policy -
source_sync_policy -
debug_sync_policy
例
on_demand ポリシーの最も一般的な使用法は、バイナリー RPM を即時に同期するように設定し、ソースリポジトリーとデバッグリポジトリーを on_demand に設定することです。通常、これらのコンテンツタイプは、一般的なクライアントには必要ありません。これはいくつかの方法で設定できます。
[rhui]
default_sync_policy: on_demand
rpm_sync_policy: immediate
または
[rhui]
default_sync_policy: immediate
source_sync_policy: on_demand
debug_sync_policy: on_demand
または
[rhui]
default_sync_policy: immediate
rpm_sync_policy: immediate
source_sync_policy: on_demand
debug_sync_policy: on_demand
これら 3 つの設定はすべて有効であり、単に好みの問題です。
ポリシーの適用
設定ファイルを更新すると、次回のリポジトリー同期で新しいポリシーが適用されます。
on_demand から immediate に切り替えると、次回の同期で、指定したタイプのコンテンツすべてのダウンロードが開始します。
immediate から on_demand に切り替えると、次回の同期で、リポジトリーのメタデータのみがダウンロードされます。RHUI はクライアントマシンからの要求に応じてコンテンツをダウンロードします。
ヒントとコツ
- RHUI をインストールした直後にすべてのリポジトリーを on_demand に設定すると、最初にメタデータを同期するだけで済むため、デプロイが高速化し、エンドユーザーへの提供が迅速化します。
-
新しいインストール環境があり、古いバージョンの RHEL クライアントをサポートする必要がない場合は、"生贄クライアント" 方式を利用すると便利です。エンドユーザーの設定をミラーリングするクライアントを使用し、
dnf updateを実行することで、RHUI のストレージにコンテンツを事前にダウンロードできます。
2.7. 入力ファイルを使用した新しい Red Hat コンテンツリポジトリーの追加 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Update Infrastructure 4.2 以降では、設定された YAML 入力ファイルを使用してカスタムリポジトリーを追加できます。YAML ファイルのテンプレート例は、RHUA ノードの /usr/share/rhui-tools/examples/repo_add_by_file.yaml ディレクトリーにあります。
この機能はコマンドラインインターフェイス (CLI) でのみ利用できます。
前提条件
- RHUA ノードへの root のアクセス権がある。
手順
RHUA ノードで、以下の形式で YAML 入力ファイルを作成します。
# cat /root/example.yaml name: Example_YAML_File repo_ids: - rhel-8-for-x86_64-baseos-eus-rhui-rpms-8.1 - rhel-8-for-x86_64-baseos-eus-rhui-rpms-8.2 - rhel-8-for-x86_64-baseos-eus-rhui-rpms-8.4 - rhel-8-for-x86_64-baseos-eus-rhui-rpms-8.6rhui-managerユーティリティーを使用して、入力ファイルに一覧表示されているリポジトリーを追加します。# 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 8 for x86_64 - BaseOS - Extended Update Support from RHUI (RPMs) (8.1) (Yum) Successfully added Red Hat Enterprise Linux 8 for x86_64 - BaseOS - Extended Update Support from RHUI (RPMs) (8.2) (Yum) Successfully added Red Hat Enterprise Linux 8 for x86_64 - BaseOS - Extended Update Support from RHUI (RPMs) (8.4) (Yum) Successfully added Red Hat Enterprise Linux 8 for x86_64 - BaseOS - Extended Update Support from RHUI (RPMs) (8.6) (Yum) ... successfully scheduled for the next available timeslot. ... successfully scheduled for the next available timeslot. ... successfully scheduled for the next available timeslot. ... successfully scheduled for the next available timeslot.
検証
CLI で、以下のコマンドを使用してインストールされたリポジトリーの一覧を表示し、正しいリポジトリーがインストールされているかどうかを確認します。
# rhui-manager repo list-
RHUI 管理ツールのリポジトリー管理画面で、
lを押して、インストールされているすべてのリポジトリーを一覧表示し、正しいリポジトリーがインストールされているかどうかを確認します。
2.8. カスタムリポジトリーの新規作成 (RPM コンテンツのみ) リンクのコピーリンクがクリップボードにコピーされました!
更新されたクライアント設定パッケージまたは他の Red Hat 以外のソフトウェアを RHUI クライアントに配信するために使用できるカスタムリポジトリーを作成できます。64 ビット RHUI サーバー (例: client-rhui-x86_64) の保護されたリポジトリーは、RHUI クライアントに新しい Red Hat 以外のパッケージ (更新済みのクライアント設定パッケージなど) を配布するための優先手段になります。
Red Hat コンテンツリポジトリーと同様、保護されているすべてのカスタムリポジトリーが、プロセッサーアーキテクチャーでのみ異なる (i386 と AMD64) 場合は、$basearch yum 変数を使用して、エンタイトルメント証明書内の単一のエンタイトルメントに統合されます。
証明書に問題がある場合には、RHUI サーバーの保護されていないリポジトリーを、更新された RPM を RHUI クライアントに配布するためのフォールバック方法として使用できます。
手順
Red Hat Update Infrastructure Management Tool のホーム画面に移動します。
[root@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を押し、正しいリポジトリーがインストールされていることを確認します。
2.9. RHUI 4 からのリポジトリー削除 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Update Infrastructure Management Tool が Red Hat リポジトリーを削除すると、RHUA および適用可能なすべての CDS ノードからリポジトリーが削除されます。
手順
Red Hat Update Infrastructure Management Tool のホーム画面に移動します。
[root@rhua ~]# rhui-manager-
rを押して manage repositories を選択します。 -
Repository Management 画面で
dを押して、Red Hat リポジトリーを削除します。RHUI が現在管理しているリポジトリーのリストが表示されます。 -
プロンプトでリポジトリーの数を入力して、削除するリポジトリーを選択します。リポジトリーの数を入力すると、そのリポジトリー名の横にチェックマークが付けられます。また、
1-5などと入力して、リポジトリーの範囲を選択することもできます。 - 削除するリポジトリーがすべて確認されるまで続行します。
プロンプトで
cを押して確認します。注記リポジトリーの削除後、削除されたリポジトリーを参照するクライアント設定 RPM は
yumでは使用できません。
2.10. カスタムリポジトリーへのコンテンツのアップロード (RPM コンテンツのみ) リンクのコピーリンクがクリップボードにコピーされました!
複数のパッケージを同時にアップロードし、一度に複数のリポジトリーにアップロードできます。パッケージは RHUA に即時にアップロードされますが、CDS ノードが次回同期するまで CDS ノードでは使用できません。
手順
Red Hat Update Infrastructure Management Tool のホーム画面に移動します。
[root@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-8-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.
2.11. 遠隔地の Web サイトからのコンテンツのアップロード (RPM コンテンツのみ) リンクのコピーリンクがクリップボードにコピーされました!
リモートサーバーに保存されているパッケージを、手動でダウンロードせずにアップロードすることができます。パッケージは、HTTP、HTTPS、または FTP でアクセスできる必要があります。
手順
Red Hat Update Infrastructure Management Tool のホーム画面に移動します。
[root@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.
2.12. パッケージグループメタデータのカスタムリポジトリーへのインポート リンクのコピーリンクがクリップボードにコピーされました!
RHUI ユーザーがカスタムリポジトリーからパッケージグループまたは言語パックを表示およびインストールできるようにするには、comps.xml または comps.xml.gz ファイルをカスタムリポジトリーにインポートします。
Red Hat リポジトリーには、Red Hat が提供するこれらのファイルが含まれています。これらをオーバーライドすることはできません。これらのファイルをカスタムリポジトリーにアップロードすることは可能です。
この機能はコマンドラインインターフェイスでのみ使用できます。
前提条件
-
カスタムリポジトリーに関連する有効な
comps.xmlまたはcomps.xml.gzファイルがある。 - RHUA ノードへの root アクセスがある。
手順
RHUA ノードで、
rhui-managerユーティリティーを使用して、compsファイルからカスタムリポジトリーにデータをインポートします。# rhui-manager repo add_comps --repo_id Example_Custom_Repo --comps /root/Example-Comps.xml
検証
カスタムリポジトリーを使用するクライアントシステムで以下を行います。
リポジトリーデータを更新します。
# yum clean metadataリポジトリーデータを一覧表示し、
compsファイルが更新されていることを確認します。# yum grouplist
2.13. カスタムリポジトリーからのコンテンツの削除 (カスタム RPM コンテンツのみ) リンクのコピーリンクがクリップボードにコピーされました!
RHUI の Text User Interface (TUI) を使用して、カスタムリポジトリーからパッケージを削除できます。
コマンドラインインターフェイス (CLI) コマンドは、「RHUI 4 CLI オプションの使用」 を参照してください。
手順
Red Hat Update Infrastructure Management Tool のホーム画面に移動します。
[root@rhua ~]# rhui-manager-
rを入力して、manage repositories を選択します。 Repository Management 画面で
rを入力し、リポジトリーから削除するパッケージを選択しま (カスタム RPM コンテンツのみ)。-= 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) 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
2.14. リポジトリー内のパッケージのリスト表示 (RPM コンテンツのみ) リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Update Infrastructure Management Tool 内のリポジトリーのリストを表示する際に、パッケージ数が 100 未満のリポジトリーのみがそのコンテンツを表示します。100 を超えるパッケージでは、パッケージ数のみが表示されます。
手順
Red Hat Update Infrastructure Management Tool のホーム画面に移動します。
[root@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.
2.15. リポジトリーバージョン数の制限 リンクのコピーリンクがクリップボードにコピーされました!
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 ~]# rhui-manager repo set_retain_versions [--repo_id <ID> or --all] --versions <NUMBER>たとえば、すべてのリポジトリーのバージョン数を 5 に制限するには、次のコマンドを実行します。
[root@rhua ~]# rhui-manager repo set_retain_versions --all --versions 5
リポジトリーの数と既存のリポジトリーのバージョンによっては、必要なすべてのタスクをスケジュールするのに 1 時間以上かかる場合があり、制限よりも古いバージョンが削除されるまでに数日かかる場合があります。rhui-manager テキストユーザーインターフェイスの同期画面の実行中のタスクで進行状況を確認できます。
2.16. 孤立したアーティファクトの削除 リンクのコピーリンクがクリップボードにコピーされました!
RPM パッケージ、repodata ファイル、およびその他の関連ファイルは、リポジトリーの一部ではなくなった場合でもディスク上に保持されます。たとえば、リポジトリーが削除され、ファイルが別のリポジトリーに属していない場合や、更新が利用可能になり、新しい repodata ファイルセットが同期されている場合などです。
このような古いコンテンツを削除するには、次のコマンドを実行します。
[root@rhua ~]# rhui-manager repo orphan_cleanup
ファイルの数によっては、このタスクが完了するまでに数日かかる場合があります。rhui-manager テキストユーザーインターフェイスの同期画面の実行中のタスクで進行状況を確認できます。
第3章 エンタイトルメント証明書とクライアント設定 RPM の作成 リンクのコピーリンクがクリップボードにコピーされました!
RHUI はエンタイトルメント証明書を使用して、リポジトリーで要求を行うクライアントが、クラウドプロバイダーによって、これらのリポジトリーへのアクセスが許可されているようにします。エンタイトルメント証明書は、クラウドプロバイダーの CA 証明書 (CA) で署名されている必要があります。CA 証明書が設定の一部として CDS にインストールされている。
3.1. Red Hat Update Infrastructure Management Tool でのクライアントエンタイトルメント証明書の作成 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat は、元のエンタイトルメント証明書を発行すると、要求したリポジトリーへのアクセスが許可されます。クライアントエンタイトルメント証明書を作成すると、クライアントを細分化して、それぞれに個別の証明書を作成する方法を決定します。その後、各証明書を使用して個別の RPM を作成できます。
前提条件
- エンタイトルメント証明書が、クラウドプロバイダーの CA 証明書で署名されている。
手順
Red Hat Update Infrastructure Management Tool のホーム画面に移動します。
[root@rhua ~]# rhui-manager-
eを押して create entitlement certificates and client configuration RPMs を選択します。 -
eを押して、generate an entitlement certificate を選択します。 プロンプトでリポジトリーの番号を入力して、エンタイトルメント証明書に含めるリポジトリーを選択します。リポジトリー数を入力すると、リポジトリー名前の横に x が付けられます。追加するすべてのリポジトリーがチェックされるまで続行します。
重要単一の RHEL バージョンのリポジトリーのみを単一のエンタイトルメントに含めます。複数の RHEL バージョンのリポジトリーを追加すると、使用できない
yum設定ファイルが発生します。-
プロンプトで
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 8 for ARM 64 - AppStream (Debug RPMs) from RHUI Red Hat Enterprise Linux 8 for ARM 64 - AppStream (RPMs) from RHUI Red Hat Enterprise Linux 8 for ARM 64 - AppStream (Source RPMs) from RHUI Proceed? (y/n)-
プロンプトが表示されたら
yを押して、情報を確認し、エンタイトルメント証明書を作成します。
検証
エンタイトルメント証明書が作成されると、同様のメッセージが表示されます。
..........................+++++ ....+++++ Entitlement certificate created at ./rhel8-for-rhui4.crt ------------------------------------------------------------------------------
3.2. CLI でのクライアントエンタイトルメント証明書の作成 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat は、元のエンタイトルメント証明書を発行すると、要求したリポジトリーへのアクセスが許可されます。クライアントエンタイトルメント証明書を作成すると、クライアントを細分化して、それぞれに個別の証明書を作成する方法を決定します。その後、各証明書を使用して個別の RPM を作成できます。
前提条件
- エンタイトルメント証明書が、クラウドプロバイダーの CA 証明書で署名されている。
手順
以下のコマンドを使用して、CLI からエンタイトルメント証明書を作成します。
# rhui-manager client cert --repo_label rhel-8-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
3.3. クライアントエンタイトルメント証明書が FUTURE 暗号化ポリシーに準拠しているかどうかの確認 リンクのコピーリンクがクリップボードにコピーされました!
クライアントのエンタイトルメント証明書を確認することで、RHUI のインスタンスが準拠している暗号化ポリシーを確認できます。
-
RHUI バージョン 3.1 から 4.0 に生成される証明書は、
FIPSおよびDEFAULT暗号化ポリシーに準拠しています。 -
RHUI バージョン 4.1 以降によって生成された証明書は、
FIPS、DEFAULT、およびFUTUREの暗号化ポリシーに準拠しています。
前提条件
クライアントエンタイトルメント証明書の場所を把握している。
デフォルトの場所は
/etc/pki/rhui/product/content.crtです。
手順
クライアント RPM、または RPM がインストールされているマシンで、クライアントエンタイトルメント証明書が保存されるパスを指定して以下のコマンドを実行します。
# openssl x509 -noout -text -in /etc/pki/rhui/product/content.crt | grep bitRSA 鍵の長さを確認します。
-
長さが 2048 ビットの場合には、クライアントエンタイトルメント証明書は
FUTUREポリシーに準拠していません。 -
長さが 4096 ビットの場合には、クライアントエンタイトルメント証明書は
FUTUREポリシーに準拠しています。
-
長さが 2048 ビットの場合には、クライアントエンタイトルメント証明書は
3.4. CLI を使用したクライアント設定 RPM のリポジトリー ID 接頭辞の変更 リンクのコピーリンクがクリップボードにコピーされました!
RPM の作成時に、カスタムリポジトリー ID 接頭辞を設定するか、完全に削除できます。デフォルトでは、接頭辞は rhui- です。
手順
RHUA ノードで、RHUI インストーラーコマンドを使用して接頭辞を設定または削除します。
カスタム接頭辞を設定します。
rhui-installer --rerun --client-repo-prefix CUSTOM_PREFIX接頭辞の代わりに 2 つの引用符を使用して、接頭辞を完全に削除します。
rhui-installer --rerun --client-repo-prefix ""
3.5. Red Hat Update Infrastructure Management Tool でのクライアント設定 RPM の作成 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat は、元のエンタイトルメント証明書を発行すると、要求したリポジトリーへのアクセスが許可されます。クライアントエンタイトルメント証明書を作成する場合、クライアントを細分化し、クライアントごとに個別の証明書を作成する方法を決定する必要があります。次に、各証明書を使用して、適切なゲストイメージへのインストール用に個別の RPM を作成できます。
この手順では、RHUI 管理ツールで RPM を作成します。
手順
Red Hat Update Infrastructure Management Tool のホーム画面に移動します。
[root@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: /tmp/clientrpmtest-2.0/build/RPMS/noarch/clientrpmtest-2.0-1.noarch.rpm
3.6. CLI でのクライアント設定 RPM の作成 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat は、元のエンタイトルメント証明書を発行すると、要求したリポジトリーへのアクセスが許可されます。クライアントエンタイトルメント証明書を作成する場合、クライアントを細分化し、クライアントごとに個別の証明書を作成する方法を決定する必要があります。次に、各証明書を使用して、適切なゲストイメージへのインストール用に個別の RPM を作成できます。
この手順では、CLI で RPM を作成します。
手順
以下のコマンドを使用して、RHUI CLI で RPM を作成します。
# rhui-manager client rpm --entitlement_cert /root/clientcert/rhuiclientexample.crt --private_key /root/clientcert/rhuiclientexample.key --rpm_name clientrpmtest --dir /tmp --unprotected_repos unprotected_repo1 Successfully created client configuration RPM. Location: /tmp/clientrpmtest-2.0/build/RPMS/noarch/clientrpmtest-2.0-1.noarch.rpm注記CLI を使用して、RHUI リポジトリーで使用するプロキシーサーバーの URL を指定するか、
_none_(アンダースコアを含む) を使用してクライアントマシンのグローバルyum設定を上書きすることもできます。プロキシーを指定するには、--proxyパラメーターを使用します。
検証
クライアント設定 RPM の作成に成功した場合も同様のメッセージが表示されます。
Successfully created client configuration RPM. Location: /tmp/clientrpmtest-2.0/build/RPMS/noarch/clientrpmtest-2.0-1.noarch.rpm
3.7. 一般的なクライアント RPM のワークフロー リンクのコピーリンクがクリップボードにコピーされました!
CCSP は、さまざまなバージョンの Red Hat Enterprise Linux と、その上で利用できるさまざまなレイヤード製品を提供できます。このようなコンテンツを提供する Red Hat リポジトリーに加えて、これらの Red Hat Enterprise Linux バージョンおよびレイヤード製品のクライアント設定 RPM への更新を提供するためのカスタムリポジトリーが必要になります。カスタムリポジトリーは、各 Red Hat Enterprise Linux バージョンおよび別売の各レイヤード製品ごとに作成する必要があります。たとえば、ベースとなる Red Hat Enterprise Linux 8 オファリングと Red Hat Enterprise Linux 上の SAP 用に別々のカスタムリポジトリーが必要になります。これらのカスタムリポジトリーに、対応するクライアント設定 RPM を格納します。これらの RPM を更新 (新しいリポジトリーの追加や期限切れの証明書の更新など) するたびに、対応するカスタムリポジトリーに新しいバージョンをアップロードします。
改ざんされていない正式なパッケージをユーザーが確実にインストールできるように、すべての RPM に GPG 鍵で署名することを推奨します。ただし、パッケージへの署名は RHUI の範囲外です。そのため、社内で利用可能なツールを使用してクライアント設定 RPM に署名する必要があります。カスタムリポジトリーを作成する場合、必要なのは、RHUA 上のパブリック GPG 公開鍵をカスタムリポジトリーで使用できるように設定することだけです。鍵は rhui-manager によってクライアント設定 RPM に自動的に追加され、dnf 設定内のカスタムリポジトリーに使用されます。
手順
次の例では、x86_64 アーキテクチャー上のベース Red Hat Enterprise Linux 8 のクライアント設定 RPM 用に、カスタムリポジトリーを作成します。
# rhui-manager repo create_custom --protected --repo_id client-config-rhel-8-x86_64 --display_name "RHUI Client Configuration for RHEL 8 on x86_64" --gpg_public_keys /root/RPM-GPG-KEY-my-cloud必要に応じて別のリポジトリー ID と表示名を使用することもできます。また、実際の GPG 鍵ファイルを指定してください。
関連する Red Hat リポジトリーを追加します。次の YAML ファイルには、バージョン管理されていないリポジトリーを使用した、x86_64 アーキテクチャー上のベース Red Hat Enterprise Linux 8 用の一般的なリポジトリーセットが含まれています。
# cat rhel-8-x86_64.yaml name: Red Hat Enterprise Linux 8 on x86_64 repo_ids: - codeready-builder-for-rhel-8-x86_64-rhui-debug-rpms-8 - codeready-builder-for-rhel-8-x86_64-rhui-rpms-8 - codeready-builder-for-rhel-8-x86_64-rhui-source-rpms-8 - rhel-8-for-x86_64-appstream-rhui-debug-rpms-8 - rhel-8-for-x86_64-appstream-rhui-rpms-8 - rhel-8-for-x86_64-appstream-rhui-source-rpms-8 - rhel-8-for-x86_64-baseos-rhui-debug-rpms-8 - rhel-8-for-x86_64-baseos-rhui-rpms-8 - rhel-8-for-x86_64-baseos-rhui-source-rpms-8 - rhel-8-for-x86_64-supplementary-rhui-debug-rpms-8 - rhel-8-for-x86_64-supplementary-rhui-rpms-8 - rhel-8-for-x86_64-supplementary-rhui-source-rpms-8上記の YAML ファイルを使用してこれらすべてのリポジトリーを追加および同期するには、次のコマンドを実行します。
# rhui-manager repo add_by_file --file rhel-8-x86_64.yaml --sync_nowエンタイトルメント証明書を作成します。証明書で許可されるリポジトリーラベルのリストが必要です。多くの場合、リポジトリーラベルはリポジトリー ID と同じです。ただし、リポジトリー ID に特定の Red Hat Enterprise Linux マイナーバージョンが含まれている場合は、ラベルにマイナーバージョンは含まれず、メジャーバージョンのみが含まれます。ベース Red Hat Enterprise Linux リポジトリーの場合、ID は同一であるため、次の Python コードを使用して上記の YAML ファイルから ID を抽出できます。
import yaml with open("rhel-8-x86_64.yaml") as repoyaml: repodata = yaml.safe_load(repoyaml) print(",".join(repodata["repo_ids"]))出力をクリップボードにコピーし、環境変数 ($labels など) として保存します。
# labels=<paste the contents of the clipboard here>エンタイトルメント証明書を作成するときは、Red Hat Enterprise Linux リポジトリーラベルに加えて、カスタムリポジトリーをラベルのコンマ区切りリストに追加する必要もあります。次のコマンドを実行して、Red Hat Enterprise Linux リポジトリーとカスタムリポジトリーの両方へのアクセスを許可するエンタイトルメント証明書を作成します。
# rhui-manager client cert --name rhel-8-x86_64 --dir /root --days 3650 --repo_label $labels,client-config-rhel-8-x86_64会社のポリシーで証明書の有効期間が 1 年、2 年などに制限されている場合は、それに応じて
--days引数の値を変更します。このコマンドは、ファイル
/root/rhel-8-x86_64.crtと/root/rhel-8-x86_64.keyを作成します。これらのファイルは次のステップで必要になります。クライアント設定 RPM を作成します。
# rhui-manager client rpm --dir /tmp --rpm_name rhui-client-rhel-8-x86_64 --rpm_version 1.0 --entitlement_cert /root/rhel-8-x86_64.crt --private_key /root/rhel-8-x86_64.key任意の RPM 名またはバージョンを使用してください。上記の値を指定すると、コマンドによって RPM が作成され、その場所が出力されます。場所は次のとおりです。
/tmp/rhui-client-rhel-8-x86_64-1.0/build/RPMS/noarch/rhui-client-rhel-8-x86_64-1.0-1.noarch.rpmこの RPM を RHUA からシステムに転送し、適切な GPG 鍵 (カスタムリポジトリーの作成時に
--gpg_public_keysパラメーターとして使用した公開鍵に対応する秘密鍵) を使用して RPM に署名します。その後、たとえば、クラウド環境内の Red Hat Enterprise Linux 8 x86_64 イメージに、署名済み RPM をプリインストールすることができます。また、署名済み RPM を RHUA に転送し、x86_64 上の Red Hat Enterprise Linux 8 のカスタムリポジトリーにアップロードする必要があります。# rhui-manager packages upload --repo_id client-config-rhel-8-x86_64 --packages /root/signed/rhui-client-rhel-8-x86_64-1.0-1.noarch.rpm
検証
カスタムリポジトリーの内容を確認します。
# rhui-manager packages list --repo_id client-config-rhel-8-x86_64このコマンドは、アップロードした RPM ファイルを出力するためのものです。
CDS ノードと HAProxy ノードを設定 (このガイドで後ほど説明) してから、テスト仮想マシンにクライアント設定 RPM をインストールし、テスト仮想マシンで次のコマンドを実行して、関連するすべてのリポジトリーへのアクセスを確認することもできます。
# yum -v repolistこのコマンドは、設定された Red Hat Enterprise Linux 8 リポジトリーとクライアント設定 RPM 用のカスタムリポジトリーを出力するためのものです。
クライアント設定 RPM の更新
クライアント設定 RPM を再ビルドする必要がある場合は、バージョン番号を増やします。
前回の呼び出しで
1.0を使用した場合は、2.0などを使用します。他のパラメーターはそのままにします。# rhui-manager client rpm --dir /tmp --rpm_name rhui-client-rhel-8-x86_64 --rpm_version 2.0 ...再度、新しい RPM に署名し、RHUA に転送して、カスタムリポジトリーにアップロードします。
# rhui-manager packages upload --repo_id client-config-rhel-8-x86_64 --packages /root/signed/rhui-client-rhel-8-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-8-x86_64-1.0/build/ に保存されることに注意してください。RPM の再ビルドの詳細は、Red Hat Enterprise Linux ドキュメントの ソフトウェアのパッケージ化および配布 を参照してください。
現在、特定のリポジトリー (たとえば、-debug リポジトリーや -source リポジトリー) がデフォルトで無効になっている状態で rhui-manager に rh-cloud.repo ファイルを作成させることはできません。その場合、rh-cloud.repo ファイルを変更し、rhui-manager の外部で RPM を再ビルドする必要があります。この問題は BZ#1772156 で追跡されています。
第4章 Red Hat エンタイトルメント証明書の管理 リンクのコピーリンクがクリップボードにコピーされました!
4.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 コンポーネントになります。複数の RHUI インストールが同じコンテンツ証明書を使用できることに注意してください。たとえば、Amazon EC2 クラウドは、(リージョンごとに) RHUI インストールを複数実行しますが、各 RHUI インストールは同じコンテンツ証明書を使用します。
クライアントはエンタイトルメント証明書を使用して RHUI のパッケージへのアクセスを許可します。環境ヘルスチェックを実行するには、RHUA は各 CDS に対して yum 要求を試みます。成功するには、yum リクエストに有効なエンタイトルメント証明書を指定する必要があります。
4.2. コンテンツ配信サーバー証明書 リンクのコピーリンクがクリップボードにコピーされました!
RHUI の各 CDS ノードは以下の証明書およびキーを使用します。
- SSL 証明書および秘密鍵
- クラウドプロバイダーの CA 証明書
CDS に必要な唯一の証明書は SSL 証明書で、クライアントと CDS 間の HTTPS 通信を許可します。SSL 証明書は特定のホスト名にスコープ設定されているため、各 CDS ノードには一意の SSL 証明書が必要になります。CDS への接続時に SSL エラーが発生する場合は、証明書のコモンネームが、インストールされている CDS の完全修飾ドメイン名 (FQDN) に設定されていることを確認してください。
CA 証明書は、yum 要求の一部としてクライアントが送信したエンタイトルメント証明書がクラウドプロバイダーにより署名されたことを確認するために使用されます。これにより、不正なインスタンスが RHUI 内で不正に使用するための独自のエンタイトルメント証明書を生成することを回避できます。
4.3. クライアント証明書 リンクのコピーリンクがクリップボードにコピーされました!
RHUI の各クライアントは、エンタイトルメント証明書と秘密鍵、およびクラウドプロバイダーの CA 証明書を使用します。
エンタイトルメント証明書とその秘密鍵により、CDS からクライアントへの情報の暗号化が有効になります。各クライアントは、CDS に接続する際にエンタイトルメント証明書を使用して、パッケージをダウンロードするパーミッションがあることを証明します。すべてのクライアントは単一のエンタイトルメント証明書を使用します。
クラウドプロバイダーの CA 証明書は、接続時に CDS の SSL 証明書を検証するために使用されます。これにより、悪意のあるインスタンスが CDS を偽装して、悪意のある可能性のあるパッケージをクライアントに導入することがなくなります。
CA 証明書は、エンタイトルメント証明書ではなく、SSL 証明書を検証します。CDS ノードの逆は true です。SSL 証明書と秘密鍵は、クライアントから CDS へのデータを暗号化するために使用されます。CDS 上にある CA 証明書は、CDS ノードがクライアントによって送信されたエンタイトルメント証明書を信頼する必要があることを確認します。
4.3.1. 証明書の対象製品をリスト表示 リンクのコピーリンクがクリップボードにコピーされました!
Entitlements Manager 画面は、現在の Red Hat コンテンツ証明書でエンタイトルメントの付いた製品のリストを表示し、新しい証明書をアップロードするのに使用されます。
手順
Red Hat Update Infrastructure Management Tool のホーム画面に移動します。
[root@rhua ~]# rhui-manager-
nを押して manage Red Hat entitlement certificates を選択します。 Entitlements Manager 画面で
lを押して、現在のコンテンツ証明書に関するデータをリスト表示します。rhui (entitlements) => l Red Hat Enterprise Linux 8 for ARM 64 - AppStream (Debug RPMs) from RHUI Expiration: 02-27-2022 Certificate: c885597492374720bb5d398c3f65d1ed.pem Red Hat Enterprise Linux 8 for ARM 64 - AppStream (RPMs) from RHUI Expiration: 02-27-2022 Certificate: c885597492374720bb5d398c3f65d1ed.pem Red Hat Enterprise Linux 8 for ARM 64 - AppStream (Source RPMs) from RHUI Expiration: 02-27-2022 Certificate: c885597492374720bb5d398c3f65d1ed.pem Red Hat Enterprise Linux 8 for ARM 64 - BaseOS (Debug RPMs) from RHUI Expiration: 02-27-2022 Certificate: c885597492374720bb5d398c3f65d1ed.pem Red Hat Enterprise Linux 8 for ARM 64 - BaseOS (RPMs) from RHUI Expiration: 02-27-2022 Certificate: c885597492374720bb5d398c3f65d1ed.pem Red Hat Enterprise Linux 8 for ARM 64 - BaseOS (Source RPMs) from RHUI Expiration: 02-27-2022 Certificate: c885597492374720bb5d398c3f65d1ed.pem
検証
- 現在の Red Hat コンテンツ証明書に含まれるエンタイトルされた製品のリストが表示されます。
4.3.2. カスタムリポジトリーエンタイトルメントのリスト表示 リンクのコピーリンクがクリップボードにコピーされました!
Entitlements Manager 画面を使用して、カスタムリポジトリーのエンタイトルメントをリスト表示できます。
手順
Red Hat Update Infrastructure Management Tool のホーム画面に移動します。
[root@rhua ~]# rhui-manager-
nを押して manage Red Hat entitlement certificates を選択します。 Entitlements Manager 画面で
cを押して、カスタムリポジトリーエンタイトルメントに関するデータをリスト表示します。rhui (entitlements) => c Custom Repository Entitlements For each entitlement URL listed, the corresponding repositories that are configured with that entitlement are listed. /protected/$basearch/os Name: Repo 1 URL: protected/i386/os Name: Repo 2 URL: protected/x86_64/os
第5章 Synchronization の状況確認とスケジューリング リンクのコピーリンクがクリップボードにコピーされました!
リポジトリーは、ソフトウェアパッケージ (RPM) のストレージの場所です。RHEL は、yum コマンドを使用して、リポジトリーを検索し、RPM のダウンロード、インストール、および更新を行います。RPM には、アプリケーションの実行に必要なすべての依存関係が含まれます。
Red Hat コンテンツの初回同期は時間によって異なります。できるだけ早くリポジトリーの同期を開始する場合は、CLI で rhui-manager repo sync_all を実行して、Red Hat Update Infrastructure 4 のすべてのリポジトリーを同期できます。
5.1. リポジトリー同期の概要表示 リンクのコピーリンクがクリップボードにコピーされました!
Synchronization Status 画面では、特定のリポジトリーに関する情報を表示することができます。
手順
Red Hat Update Infrastructure Management Tool のホーム画面に移動します。
[root@rhua ~]# rhui-manager-
sを押して、synchronization status and scheduling を選択します。 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 8 for ARM 64 - BaseOS (Debug RPMs) from RHUI (8) Never None .... .... Red Hat Enterprise Linux 8 for x86_64 - AppStream from RHUI (Debug RPMs) (8.2) 2021-07-29 17:45:41 Running Associating Content: 11001 (97%) Downloading Artifacts: 7376
5.2. 実行同期の表示 リンクのコピーリンクがクリップボードにコピーされました!
Synchronization Status 画面では、実行同期タスクの状況を確認することができます。
手順
Red Hat Update Infrastructure Management Tool のホーム画面に移動します。
[root@rhua ~]# rhui-manager-
sを押して、synchronization status and scheduling を選択します。 Synchronization Status 画面から
rrを押します。Last Refreshed: 02:06:46 (updated every 5 seconds, ctrl+c to exit) Current Sync Result ------------------------------------------------- Red Hat Enterprise Linux 8 for x86_64 - AppStream from RHUI (Debug RPMs) (8.2) 2021-07-29 17:45:41 Running Associating Content: 11001 (97%) Downloading Artifacts: 7376
5.3. 前回のリポジトリー同期の詳細を表示 リンクのコピーリンクがクリップボードにコピーされました!
Synchronization Status 画面では、前回のリポジトリー同期の詳細を確認することができます。
手順
Red Hat Update Infrastructure Management Tool のホーム画面に移動します。
[root@rhua ~]# rhui-manager-
sを押して、synchronization status and scheduling を選択します。 -
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.
5.4. 個別リポジトリーの即時同期 リンクのコピーリンクがクリップボードにコピーされました!
コンテンツの初期同期には、通常 10 分から 20 分かかります。できるだけ早くリポジトリーの同期を開始する場合は、CLI で rhui-manager repo sync_all を実行して、Red Hat Update Infrastructure 4 のすべてのリポジトリーを同期できます。
手順
Red Hat Update Infrastructure Management Tool のホーム画面に移動します。
[root@rhua ~]# rhui-manager-
sを押して、synchronization status and scheduling を選択します。 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 2021-11-17 20:30:00 Red Hat Enterprise Linux 8 for ARM 64 - AppStream (RPMs) from RHUI (8.4)cを押して確認します。The following repositories will be scheduled for synchronization: Red Hat Enterprise Linux 8 for ARM 64 - AppStream (RPMs) from RHUI (8.4) Proceed? (y/n) yyを押して続行します。Scheduling sync for Red Hat Enterprise Linux 8 for ARM 64 - AppStream (RPMs) from RHUI (8.4)... ... successfully scheduled for the next available timeslot.注記このメッセージは、選択したリポジトリーのタスクが実行中であるかどうかを示します。
Ignoring sync request for Red Hat Enterprise Linux 8 for x86_64 - AppStream from RHUI (Debug RPMs) (8.2) as the repo is currently reserved by a running task.
5.5. アクティブな同期タスクのキャンセル リンクのコピーリンクがクリップボードにコピーされました!
ほとんどの環境では、スケジュールされているリポジトリーを同期します。アクティブな同期タスクをキャンセルする必要がある状況が発生する場合があります。
前提条件
- 既存のリポジトリーがある。
- アクティブな同期タスクがある。
手順
Red Hat Update Infrastructure Management Tool のホーム画面に移動します。
[root@rhua ~]# rhui-manager-
sを押して、synchronization status and scheduling を選択します。 -
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 8 for x86_64 - AppStream from RHUI (Debug RPMs) (8.2) 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) (8.2) Proceed? (y/n)
検証
アクティブな同期タスクをキャンセルすると、この例と同様のメッセージが表示されます。
Canceling active task for repo Red Hat Enterprise Linux 8 for x86_64 - AppStream from RHUI (Debug RPMs) (8.2) ... ... done
5.6. 待機中の同期タスクのキャンセル リンクのコピーリンクがクリップボードにコピーされました!
ほとんどの環境では、スケジュールされているリポジトリーを同期します。保留中の同期タスクをキャンセルする必要がある状況が発生する可能性があります。
前提条件
- 既存のリポジトリーがある。
- 同期タスクがスケジュールされている。
手順
Red Hat Update Infrastructure Management Tool のホーム画面に移動します。
[root@rhua ~]# rhui-manager-
sを押して、synchronization status and scheduling を選択します。 -
Synchronization Status 画面で
cwを押し、cancel waiting sync tasks を選択します。 取り消すタスクまたはタスクの値を入力します。
Select one or more repositories for which you want to cancel their pending tasks. - 1: Single Sign-On 7.4 for RHEL 8 x86_64 (Source RPMs) from RHUI Enter value (1-1) to toggle selection, 'c' to confirm selections, or '?' for more commands: 1cを押して選択を確認します。Select one or more repositories for which you want to cancel their pending tasks. x 1: Single Sign-On 7.4 for RHEL 8 x86_64 (Source RPMs) from RHUI Enter value (1-1) to toggle selection, 'c' to confirm selections, or '?' for more commands: cyを押して続行します。The pending tasks will be canceled for the following repositories: Single Sign-On 7.4 for RHEL 8 x86_64 (Source RPMs) from RHUI Proceed? (y/n) y
検証
キャンセルに成功した場合も同様のメッセージが表示されます。
Canceling pending task for repo Single Sign-On 7.4 for RHEL 8 x86_64 (Source RPMs) from RHUI ... ... done保留中の同期タスクがない場合は、以下のメッセージが表示されます。
There are no repositories with pending sync related tasks.
5.7. リポジトリーの自動公開ステータスの表示と変更 リンクのコピーリンクがクリップボードにコピーされました!
Synchronization Status 画面では、リポジトリーの自動公開ステータスを確認変更することができます。
手順
Red Hat Update Infrastructure Management Tool のホーム画面に移動します。
[root@rhua ~]# rhui-manager-
sを押して、synchronization status and scheduling を選択します。 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: yum - 713: AUTO Red Hat Enterprise Linux 8 for ARM 64 - AppStream (RPMs) from RHUI (8.3) - 714: AUTO Red Hat Enterprise Linux 8 for ARM 64 - AppStream (RPMs) from RHUI (8.4) - 719: AUTO Red Hat Enterprise Linux 8 for ARM 64 - AppStream (Source RPMs) from RHUI (8.3) - 720: AUTO Red Hat Enterprise Linux 8 for ARM 64 - AppStream (Source RPMs) from RHUI (8.4)値 (
1-1631) を入力すると選択が切り替わり、c選択が確定し、さらにコマンドを入力する場合は?を選択します。The following repositories will have their auto-publish status changed: Red Hat Repositories yum Red Hat Enterprise Linux 8 for ARM 64 - AppStream (RPMs) from RHUI (8)-
cを押して選択を確認します。 -
yを押して続行します。
検証
選択して確定したときにも同様のメッセージが表示されます。
Scheduling a task to turn off auto-publish status of repository Red Hat Enterprise Linux 8 for ARM 64 - AppStream (RPMs) from RHUI (8)
5.8. リポジトリーのワークフローの表示と進行 リンクのコピーリンクがクリップボードにコピーされました!
Synchronization Status 画面を使用して、リポジトリーのワークフローを確認したり変更したりすることができます。
手順
Red Hat Update Infrastructure Management Tool のホーム画面に移動します。
[root@rhua ~]# rhui-manager-
sを押して、synchronization status and scheduling を選択します。 -
Synchronization Status 画面から
wfを押します。 値 (
1-1631) を入力すると選択が切り替わり、c選択が確定し、さらにコマンドを入力する場合は?を選択します。The following repositories will be scheduled for workflow push: Red Hat Repositories yum Red Hat Enterprise Linux 8 for ARM 64 - AppStream (RPMs) from RHUI (8.4)-
yを押して続行します。
検証
スケジューリングに成功した場合も同様のメッセージが表示されます。
Scheduling a task for generating metadata version 0 for repo Red Hat Enterprise Linux 8 for ARM 64 - AppStream (RPMs) from RHUI (8.4) ... ... task scheduled.
5.9. リポジトリーのファイルシステムへのエクスポート リンクのコピーリンクがクリップボードにコピーされました!
リポジトリーは、その内容を更新した最近の同期後に自動的にエクスポートされます。
Synchronization Status 画面を使用すると、いつでもリポジトリーをファイルシステムに強制的にエクスポートできます。
手順
Red Hat Update Infrastructure Management Tool のホーム画面に移動します。
[root@rhua ~]# rhui-manager-
sを押して、synchronization status and scheduling を選択します。 -
Synchronization Status 画面から、
exを押します。 - 値を入力すると、選択が切り替わります。
cを押して選択を確認します。The following repositories will be exported: Red Hat Repositories yum Red Hat Enterprise Linux 8 for ARM 64 - AppStream (Source RPMs) from RHUI (8)-
yを押して続行します。
検証
リポジトリーがファイルシステムにエクスポートされている場合も、同様のメッセージが表示されます。
[1/1] Exporting version 1 of the repo Red Hat Enterprise Linux 8 for ARM 64 - AppStream (Source RPMs) from RHUI (8).
第6章 コンテンツデリバリーサーバーの管理 リンクのコピーリンクがクリップボードにコピーされました!
CDS ノードは RHUI クライアントにコンテンツを提供します。
Content Delivery Server (CDS) Management 画面では、CDS ノードのリスト表示、追加、削除、再インストールを行うことができます。
6.1. 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 ~]# 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 ノードでこの手順を繰り返します。
6.2. RHUI 4 で管理されているすべての既知の CDS インスタンスのリストアップ リンクのコピーリンクがクリップボードにコピーされました!
Content Delivery Server (CDS) Management 画面を使用して、Red Hat Update Infrastructure 4 が管理するすべての CDS ノードをリストアップすることができます。
手順
Red Hat Update Infrastructure Management Tool のホーム画面に移動します。
[root@rhua ~]# rhui-manager-
cを押して、manage content delivery servers (CDS) を選択します。 Content Delivery Server (CDS) Management 画面で
lを押して、Red Hat Update Infrastructure 4 が管理する既知の CDS ノードをすべてリストアップします。Hostname: <cds1.example.com> SSH Username: <cloud-user> SSH Private Key: /<cloud-user>/.ssh/id_rsa_rhua
6.3. 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 ~]# 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-
Enter a value or
bto abort: 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.
6.4. レガシー CA を受け入れる CDS の設定 リンクのコピーリンクがクリップボードにコピーされました!
デフォルトでは、コンテンツ配信サーバー (CDS) ノードは、RHUI システムに現在設定されている認証局 (CA) が署名したエンタイトルメント証明書だけを受け入れます。ただし、メインの CA を変更する場合や、CA 証明書の有効期限が切れた場合に、クライアントが動作を継続できるように、以前に作成した CA を受け入れる必要がある場合があります。
この手順では、CDS ノードに CA 証明書をインストールして、RHUI でレガシー CA をサポートする手順を説明します。
前提条件
RHUI の最新バージョンを実行していることを確認する。
注記以前のバージョンの RHUI をインストールしている場合は、
rhui-managerで CDS ノードを再インストールする必要があります。
手順
CDS ノードで、
/etc/pki/rhui/legacyディレクトリーがない場合は作成します。# mkdir /etc/pki/rhui/legacy- レガシー CA 証明書をディレクトリーに保存します。
検証
- CDS ノードは、CA 証明書をディレクトリーに保存するとすぐにレガシー CA の受け入れを開始します。
6.5. レガシー 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 の受け入れを停止します。
6.6. CDS の登録解除 リンクのコピーリンクがクリップボードにコピーされました!
使用しない CDS インスタンスを登録解除 (削除) することができます。
手順
Red Hat Update Infrastructure Management Tool のホーム画面に移動します。
[root@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
第7章 HAProxy ロードバランサーインスタンスの管理 リンクのコピーリンクがクリップボードにコピーされました!
クライアントの HTTPS 要求をすべての CDS サーバーに分散するには、負荷分散ソリューションを導入する必要があります。Red Hat Update Infrastructure 4 はデフォルトで HAProxy を使用しますが、インストール時に、使用する負荷分散ソリューション (たとえば、クラウドプロバイダーのもの) を自由に選択できます。HAProxy が使用されている場合は、挿入するノードの数を決定する必要もあります。
7.1. HAProxy ロードバランサーの新規登録について リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Update Infrastructure 4 は DNS を使用して CDN に到達します。ほとんどの場合、インスタンスは、クラウドのインフラストラクチャーの一部としてホストされる適切な DNS サーバーと通信するように事前設定する必要があります。独自の DNS サーバーを実行するか、クライアントの DNS 設定を更新すると、yum Could not contact any CDS load balancers のようなエラーが表示される可能性があります。このような場合は、DNS サーバーがリクエストのためにクラウドの DNS サーバーに転送していること、または DNS クライアントが名前解決のためにクラウドの DNS サーバーにフォールバックするように設定されていることを確認してください。
複数の HAProxy ノードを使用するには、すべての HAProxy ノードの IP アドレスを解決する rhui-installer の実行時に --cds-lb-hostname パラメーターの値として使用されるホスト名のラウンドロビン DNS エントリー (このガイドでは cds.example.com) が必要です。DNS Round Robin の設定方法 により、ラウンドロビン DNS を設定する方法があります。Red Hat Update Infrastructure 4 のコンテキストでは、これらは 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 ~]# 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.
7.2. RHUI 4 で管理されているすべての HAProxy ロードバランサーインスタンスのリストアップ リンクのコピーリンクがクリップボードにコピーされました!
Load-balancer (HAProxy) Management 画面では、RHUI 4 が管理している既知の HAProxy ロードバランサーインスタンスをすべて表示することができます。
手順
Red Hat Update Infrastructure Management Tool のホーム画面に移動します。
[root@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
7.3. 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 ~]# 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-
Enter a value or
bto abort: 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.
7.4. HAProxy ロードバランサーの登録解除 リンクのコピーリンクがクリップボードにコピーされました!
使用しない HAProxy ロードバランサーのインスタンスを登録解除 (削除) することができます。
前提条件
-
HAProxy ロードバランサーノードで
sshdが稼働しており、port 443が開いていることを確認する。
手順
Red Hat Update Infrastructure Management Tool のホーム画面に移動します。
[root@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>
第8章 コンテナーの管理 リンクのコピーリンクがクリップボードにコピーされました!
RHUI を使用して、Linux コンテナー内のアプリケーションのデプロイメントを自動化できます。コンテナーを使用すると、次の利点があります。
- 仮想マシンよりも必要なストレージとメモリー内領域が少なくなります。コンテナーにはアプリケーションの実行に必要なものだけが保持されるため、オペレーティングシステム全体が含まれる仮想マシンよりも、コンテナーのほうが保存と共有が効率的です。
- パフォーマンスの向上: 完全に独立したオペレーティングシステムを実行していないため、コンテナーは通常、新しい VM のオーバーヘッドを運ぶアプリケーションよりも高速に実行されます。
- セキュア: 通常、コンテナーには独自のネットワークインターフェイス、ファイルシステム、およびメモリーがあるため、そのコンテナーで実行されているアプリケーションは、ホストコンピューター上の他のアクティビティーから分離して保護できます。
- 柔軟: アプリケーションのランタイム要件がコンテナー内のアプリケーションに組み込まれているため、コンテナーは複数の環境で実行できます。
8.1. Red Hat Update Infrastructure のコンテナーについて リンクのコピーリンクがクリップボードにコピーされました!
コンテナーはアプリケーションのサンドボックスです。各コンテナーは、必要な設定データを保持するイメージに基づいています。イメージからコンテナーを起動すると、書き込み可能な階層がこのイメージの上部に追加されます。コンテナーをコミットするたびに、変更を保存する新しいイメージ層が追加されます。
イメージは、変更されることのない読み取り専用レイヤーです。変更はすべて最上位の書き込み可能なレイヤーで行われ、新規イメージを作成することによってのみ保存できます。各イメージは、複数の親イメージに依存します。
プラットフォームイメージは、親のないイメージです。プラットフォームイメージは、コンテナー化されたアプリケーションの実行に必要なランタイム環境、パッケージ、およびユーティリティーを定義します。プラットフォームイメージは読み取り専用であるため、その上部にスタックされたコピーイメージに変更が反映されます。
8.2. Red Hat Update Infrastructure へのコンテナーの追加 リンクのコピーリンクがクリップボードにコピーされました!
rhui-manager ツールを使用して、Repository Management セクションを使用してコンテナーを追加できます。
手順
RHUI をインストールしたときにコンテナーサポートを有効にしなかった場合は、RHUA で次のコマンドを実行します。
# rhui-installer --rerun --container-support-enabled True # rhui-manager --noninteractive cds reinstall --allオプション:
/etc/rhui/rhui-tools.confファイルを編集し、[container] セクションの次の行を削除して、RHUI 設定でコンテナーレジストリーの認証情報を設定します。RHUI 4.1.1 以降をクリーンインストールしている場合、最後の数行には、podman 固有のオプションと便利なコメントが含まれる [container] セクションが含まれます。以前のバージョンの RHUI から更新した場合、このセクションは
etc/rhui/rhui-tools.conf.rpmnewファイルの最後にあり、rhui-tools.confファイルにコピーできます。[container] … registry_username: your_RH_login registry_password: your_RH_password注記通常、
registry.redhat.ioとは異なるレジストリーから同期する場合は、それに応じて registry_url オプションと registry_auth オプションの値も変更します。RHUA ノードで、
rhui-managerを実行します。# 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: http://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
8.3. コンテナーリポジトリーの同期 リンクのコピーリンクがクリップボードにコピーされました!
コンテナーを Red Hat Update Infrastructure に追加したら、rhui-manager ツールを使用してコンテナーを同期できます。
手順
RHUA ノードで、
rhui-managerを実行します。# 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.
8.4. コンテナークライアント設定の生成 リンクのコピーリンクがクリップボードにコピーされました!
RHUI クライアントは、クライアント設定を使用して RHUI からコンテナーをプルできます。RPM にはロードバランサーの証明書が含まれており、これを使用して、ロードバランサーをコンテナーレジストリーに追加し、コンテナー設定を変更できます。
手順
RHUA ノードで、
rhui-managerを実行します。# 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
8.5. クライアントへのコンテナー設定 RPM のインストール リンクのコピーリンクがクリップボードにコピーされました!
コンテナー設定 RPM を生成したら、それをローカルマシンにインポートすることでクライアントにインストールできます。
手順
RPM を RHUA ノードからローカルマシンに取得します。
# scp root@rhua.example.com:/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 ~]# yum install containertest-2.0-1.noarch.rpm
8.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.
第9章 設定ファイル、終了コード、およびログファイル リンクのコピーリンクがクリップボードにコピーされました!
以下の設定ファイル、RHUI Manager 終了コード、およびログファイルが Red Hat Update Infrastructure 4 で使用されます。
設定ファイル
| コンポーネント | ファイルまたはディレクトリー | 使用方法 |
|---|---|---|
| Red Hat Update Appliance |
| Pulp 設定ファイル |
|
| rhui-manager 設定ファイル | |
|
| Red Hat Update Infrastructure の証明書 | |
|
| RHUA 設定での使用 | |
|
| サブスクリプション同期スクリプトの設定 | |
| コンテンツ配信サーバー |
| CDS の証明書 |
| HAProxy |
| HAProxy 設定ファイル |
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 ノードで実行されていません。 |
| 239 | リポジトリーが存在しないため、削除できませんでした。 |
| 240 | 必要なリソースに問題がありました。たとえば、有効なリポジトリーが見つからなかったため、クライアント設定 RPM を構築できませんでした。 |
| 241 | 不明なリポジトリーが指定されたため、同期タスクをスケジュールできませんでした。 トラブルシューティングするには、以下を実行します。 * スペルを確認してください * 最初にリポジトリーを追加してください * Pulp の問題のログを確認してください |
| 242 | Pulp の問題のため、カスタムリポジトリーを作成できませんでした。詳細は、メッセージとログを確認してください。 |
| 243 | Red Hat リポジトリーの一部はすでに RHUI に存在し、一部はエンタイトルメントで使用できないため、Red Hat リポジトリーを追加できませんでした。 |
| 244 | カスタムリポジトリーは RHUI にすでに存在するため、作成できませんでした。 |
| 245 | Red Hat リポジトリーは RHUI にすでに存在しているため、追加できませんでした。 |
| 246 |
Red Hat リポジトリーはエンタイトルメントで使用できないため、追加できませんでした。スペルを確認するか、コマンド |
| 247 | Pulp の問題のため、Red Hat リポジトリーを追加できませんでした。詳細は、メッセージとログを確認してください。 |
| 248 |
1 つ以上の Red Hat リポジトリーが RHUI 4 にすでに存在しているため、RHUI 3 から RHUI 4 への移行は停止されました。リポジトリーを削除するか、 |
| 249 |
RHUI 設定 |
| 250 | エンタイトルメント証明書は、書き込み可能ではありません。 |
| 251 | エンタイトルメント証明書の有効期限が切れています。 |
| 252 | RHUI リポジトリーが含まれていないため、エンタイトルメント証明書は無効です。 |
| 253 | エンタイトルメント証明書ファイルは、有効な証明書ではありません。 |
| 254 | コマンドラインエラー: ネットワークの問題により、RHUI CLI を実行できませんでした。 |
| 255 | 引数エラー: 必須の引数が指定されていませんでした。 |
ログファイル
| コンポーネント | ファイルまたはディレクトリー | 使用方法 |
|---|---|---|
| Red Hat Update Appliance |
| Red Hat Update Infrastructure Management Tool のログ |
|
| Pulp のログ (リポジトリーの同期など) | |
|
| nginx のログ | |
|
| CDS および HAproxy 管理ログ、サービスステータスのログ | |
|
| サブスクリプションの同期ログ | |
|
| リポジトリーエクスポートのログ | |
|
| 一時ディレクトリークリーンアップのログ | |
|
| リポジトリーバージョンマッピングのログ | |
| コンテンツ配信サーバー |
| nginx のログ |
|
| クライアントのコンテンツ要求 | |
|
| CDS オーソライザープラグインのログ。デフォルトでは、エンタイトルメント証明書のない要求 | |
|
| CDS コンテンツマネージャープラグインのログ (オンデマンドパッケージのダウンロードなど) | |
|
| CDS ミラープラグインのログ。デフォルトでは、プラグインの起動から停止までのログのみ記録 | |
| クライアント |
RHEL7 以前のバージョンでは、 | yum コマンドログ |
| クライアント |
RHEL 8 以降のバージョンの | dnf コマンドログ |
|
| クライアント syslog |
保存されている古いログも参照してください。古いログには拡張子として番号またはタイムスタンプが付いています。場合によっては gzip で圧縮されています。
第10章 RHUI 4 コマンドの使用 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Update Infrastructure は、RHUI ノード、リポジトリー、およびクライアント設定を管理するための強力なスクリプト対応インターフェイスを備えています。
10.1. RHUI 4 CLI オプションの使用 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Update Infrastructure 4 の管理タスクの大半は、インストール中に行われます。インストール後は、Red Hat CDN から定期的に更新パッケージを取得し、クライアントでそのパッケージを自動的に利用できるようにします。
Red Hat Update Infrastructure Management Tool (rhui-manager で実行する) と呼ばれるコマンドラインインターフェイスは、インストールを容易にします。このツールは、RHUI の各コンポーネント (RHUA、CDS、およびロードバランサー) に必要な設定要素の対話式プロンプトを提供します。このツールは、Red Hat が提供するコンテンツ証明書を取得して、Red Hat CDN に接続するときに使用し、クライアントが RHUI に接続するために使用する内部のクラウド固有の証明書を生成する手段も提供します。Red Hat Update Infrastructure Management Tool を使用すると、クラウドプロバイダーはクライアント RHEL インスタンスにインストールされるクライアント設定バンドルを生成することができます。このバンドルにより、クライアントは RHUI インストールから更新を取得できるようになります。
Red Hat Update Infrastructure Management Tool は対話型シェルを使用しますが、一部の機能はシェルプロンプトからも実行できます。Red Hat Update Infrastructure Management Tool は、主に 7 つのコマンドを使用します。各コマンドのサブコマンドでは、サブコマンドが -h および --help 以外のオプションを想定している場合は、オプションのリストが提供されます。
すべてのオプションおよびコマンドを表示します。
# rhui-manager --help
Usage: rhui-manager [options]
OPTIONS
-h/--help show this help message and exit
--debug enables debug logging
--noninteractive prevents console input, used for scripting
--config absolute path to the configuration file; defaults to /etc/rhui/rhui-tools.conf
--server location of the RHUA server (overrides the config file)
--username if specified, previously saved authentication credentials are ignored and this username is used to login
--password used in conjunction with --username
--logout logout from the active session
COMMANDS
cert : Red Hat content certificate management
packages : package manipulation on repositories
repo : repository listing and manipulation
cds : CDS listing and manipulation
migrate : Migrate from {RHUI3}
haproxy : Load balancer listing and manipulation
status : RHUI status and health information
client : Red Hat client management
10.1.1. cert リンクのコピーリンクがクリップボードにコピーされました!
Red Hat content certificate management
upload : uploads a new content certificate
info : display information about the current content certificate
# rhui-manager cert upload
upload: uploads a new content certificate
--cert - full path to the new content certificate (required)
--key - full path to the new content certificate's key
10.1.2. packages リンクのコピーリンクがクリップボードにコピーされました!
package manipulation on repositories
list : lists all packages in a repository
remove : removes a package from a custom repository
upload : uploads a package or directory of packages to a custom repository
remote : uploads RPM content from a remote URL to a custom repository
list: lists all packages in a repository
--repo_id - id of the repository to list packages for (required)
remove: removes a package from a custom repository
--repo_id - id of the custom repository to remove a package from (required)
--package - name of the package to be removed (required)
--vr - if specified, only the supplied version-release of the package will be removed
--force - don't ask for confirmation
upload: uploads a package or directory of packages to a custom repository
--repo_id - id of the custom repository where the packages will be uploaded (required)
--packages - path to an .rpm file or directory of RPMs that will be uploaded (required)
remote: uploads RPM content from a remote URL to a custom repository
--repo_id - id of the custom repository where the packages will be uploaded (required)
--url - remote URL of the package or a web page that will be scraped for RPM content (required)
10.1.3. repo リンクのコピーリンクがクリップボードにコピーされました!
repository listing and manipulation
list : lists all repositories in the RHUI
info : displays information on an individual repo
add : add a Red Hat repository to the RHUA
add_by_repo: add Red Hat repositories to the RHUA via repo ID
add_by_file: add Red Hat repositories to the RHUA using an input file
add_errata: associate errata metadata with a repository
add_comps : associate comps metadata (group/category/environment/langpacks) with a repository
delete : delete a repository
sync : sync a repository
set_retain_versions: limits the number of older repository versions kept in database
orphan_cleanup: submits a background task to remove orphaned artifacts from storage
export : export a repository to the filesystem
enable_sync: enable scheduled synchronization of a repository
disable_sync: disable scheduled synchronization of a repository
sync_all : sync all repositories
metadata : ensure metadata is generated for the latest version of repositories
enable_autopublish: enable automatic publishing of a new repository version
disable_autopublish: disable automatic publishing of a new repository version
create_custom: create a custom repository
unused : list of products available but not synced to the RHUA
info: displays information on an individual repo
--repo_id - identifies the repository to display (required)
add: add a Red Hat repository to the RHUA
--product_name - product to add the RHUA (required)
add_by_repo: add Red Hat repositories to the RHUA via repo ID
--repo_ids - repo IDs to add, comma-separated (required)
--sync-now - Use to sync any repos that are added (optional)
add_by_file: add Red Hat repositories to the RHUA using an input file
--file - file containing repo IDs to add, one per line (required)
--sync_now - Use to sync any repos that are added (optional)
add_errata: associate errata metadata with a repository
--repo_id - repo ID to associate the metadata with (required)
--updateinfo - updateinfo file to be applied (required)
add_comps: associate comps metadata (group/category/environment/langpacks) with a repository
--repo_id - repo ID to associate the metadata with (required)
--comps - comps file to be applied (required)
delete: delete a repository
--repo_id - identifies the repository to delete (required)
sync: sync a repository
--repo_id - identifies the repository to sync (required)
set_retain_versions: limits the number of older repository versions kept in database
--repo_id - identifies the repository to operate on
--all - operate on all repositories (either --repo_id or --all must be provided, but not both)
--versions - number of versions to keep (required)
--dry_run - display what will be executed without actually executing
orphan_cleanup: submits a background task to remove orphaned artifacts from storage
export: export a repository to the filesystem
--repo_id - identifies the repository to export (required)
metadata : ensure metadata is generated for the latest version of repositories
--repo_id - explicit repo ID to generate metadata for
enable_sync: enable scheduled synchronization of a repository
--repo_id - identifies the repository to enable scheduled synchronization for (required)
--verbose - if present, info on last/next synchronization tasks will be displayed
disable_sync: disable scheduled synchronization of a repository
--repo_id - identifies the repository to disable scheduled synchronization for (required)
--verbose - if present, info on last/next synchronization tasks will be displayed
enable_autopublish: enable automatic publishing of a new repository version
--repo_id - identifies the repository to enable automatic publishing for (required)
disable_autopublish: disable automatic publishing of a new repository version
--repo_id - identifies the repository to disable automatic publishing for (required)
create_custom: create a custom repository
--repo_id - identifies the repository to add (required)
--path - path to the content being served by CDS; defaults to repo_id
--display_name - display name for the custom repository
--redhat_content - repository will host Red Hat GPG signed content
--protected - make the content protected by entitlement certificate
--gpg_public_keys - comma separated list of public keys used to sign the served content; the filenames must not contain comma
unused: list all unused Red Hat repositories
Loading latest entitled products from Red Hat...
... listings loaded
Available Repositories
--------------------
10.1.4. cds リンクのコピーリンクがクリップボードにコピーされました!
CDS listing and manipulation
list : lists all cds instances in the RHUI
add : register a cds instance to the RHUI
reinstall : reinstalls an already registered cds instance
delete : unregisters cds instances from the RHUI
add: register a cds instance to the RHUI
--hostname - The hostname of the instance to add. (required)
--ssh_user - Username with SSH access to the instance and sudo privileges. (required)
--keyfile_path - Absolute path to an SSH private key to use with the given user. (required)
--hostfile - Absolute path to a known_hosts file to use to determine the identity of the instance; if this is not provided and the instance hostkey is not in the system-wide known_hosts file, this command will fail.
--user_supplied_ssl_key - Optional absolute path to the user supplied SSL key file.
--user_supplied_ssl_crt - Optional absolute path to the user supplied SSL crt file.
--force - Add the system even if the hostname is already registered.
--unsafe - Proceed even if the instance host key is not in the known_hosts file. This is not secure!
--no_update - Use this flag to prevent the final dnf update; it must be specified every time this functionality is desired.
reinstall: reinstalls an already registered cds instance
--hostname - The hostname of the instance to reinstall on; this instance must be registered already.
--all - Reinstall all the registered instances.
--no_update - Use this flag to prevent the final dnf update; it must be specified every time this functionality is desired.
delete: unregisters cds instances from the RHUI
--force - Delete the system, even if it is the last of its kind.
--hostnames - Comma-separated list of hostnames to delete (unregister) from RHUI. (required)
10.1.5. migrate リンクのコピーリンクがクリップボードにコピーされました!
Migrate from RHUI3
--force - Migrate repos even when some repos are detected locally
--hostname - The remote RHUIv3, migration source, hostname (required)
--password - The remote RHUIv3, migration source, rhui-manager password. (required)
--keyfile_path - The path to an SSH private key to use with the given user. default=/root/.ssh/id_rsa_rhua
--local_system_user - The local RHUIv4, migration destination, system username. default=<cloud-user>
--remote_system_user - The remote RHUIv3, migration source, system username. default=<cloud-user>
--remote_server_crt - The remote RHUIv3, migration source, server crt path. default=/etc/pki/rhui/certs/entitlement-ca.crt
--remote_server_key - The remote RHUIv3, migration source, server key path. default=/etc/pki/rhui/private/entitlement-ca.key
--username - The remote RHUIv3, migration source, rhui-manager username. default=admin
10.1.6. haproxy リンクのコピーリンクがクリップボードにコピーされました!
Load balancer listing and manipulation
list : lists all haproxy instances in the RHUI
add : register a haproxy instance to the RHUI
reinstall : reinstalls an already registered haproxy instance
delete : unregisters haproxy instances from the RHUI
add: register a haproxy instance to the RHUI
--hostname - The hostname of the instance to add. (required)
--ssh_user - Username with SSH access to the instance and sudo privileges. (required)
--keyfile_path - Absolute path to an SSH private key to use with the given user. (required)
--hostfile - Absolute path to a known_hosts file to use to determine the identity of the instance; if this is not provided and the instance hostkey is not in the system-wide known_hosts file, this command will fail.
--config - Optional absolute path to a user supplied HAProxy config file.
--force - Add the system even if the hostname is already registered.
--unsafe - Proceed even if the instance host key is not in the known_hosts file. This is not secure!
--no_update - Use this flag to prevent the final dnf update; it must be specified every time this functionality is desired.
reinstall: reinstalls an already registered haproxy instance
--hostname - The hostname of the instance to reinstall on; this instance must be registered already.
--all - Reinstall all the registered instances.
--no_update - Use this flag to prevent the final dnf update; it must be specified every time this functionality is desired.
delete: unregisters haproxy instances from the RHUI
--force - Delete the system, even if it is the last of its kind.
--hostnames - Comma-separated list of hostnames to delete (unregister) from RHUI. (required)
10.1.7. status リンクのコピーリンクがクリップボードにコピーされました!
status: RHUI status and health information
--code - if specified, only a numeric code for the result will be displayed
--repo_json - Name of the JSON file for a repo status
10.1.8. client リンクのコピーリンクがクリップボードにコピーされました!
Red Hat client management
labels : list the labels required for client certificate creation
cert : create a content certificate for a rhui client
rpm : create a client config rpm
content_source: create an alternate source config rpm
acs_config: output a JSON representation of the alternate source config
cert: create a content certificate for a rhui client
--repo_label - identifies the repositories to add. Comma delimited string of repo labels (required)
--name - identifies the certificate name (required)
--days - number of days cert will be valid (required)
--dir - directory where the certificate will be stored (required)
rpm: create a client config rpm
--private_key - entitlement private key
--entitlement_cert - entitlement certificate
--rpm_version - version number of the client config rpm
--rpm_release - release of rpm package. Default is 1
--rpm_name - name of the client config rpm (required)
--dir - directory where the rpm will be created (required)
--unprotected_repos - comma-separated list of unprotected repos to include
--cert - generate certificate also before building client config rpm if given
--ca_cert - full path to the certificate authority of CDS servers
--repo_label - identifies the repositories to add. Comma delimited string of repo labels
--name - identifies the certificate name if it is different from rpm name
--days - number of days cert will be valid
--proxy - url/string in case proxy option is necessary in yum repo file
content_source: create an alternate source config rpm
--private_key - entitlement private key
--entitlement_cert - entitlement certificate
--rpm_version - version number of the client config rpm
--rpm_name - name of the client config rpm (required)
--dir - directory where the rpm will be created (required)
--unprotected_repos - comma-separated list of unprotected repos to include
--cert - generate certificate also before building client config rpm if given
--ca_cert - full path to the certificate authority of CDS servers
--repo_label - identifies the repositories to add. Comma delimited string of repo labels
--name - identifies the certificate name if it is different from rpm name
--days - number of days cert will be valid
acs_config: output a JSON representation of the alternate source config
--dir - directory where the JSON representation will be stored (required)
--private_key - entitlement private key
--entitlement_cert - entitlement certificate
--cert - generate certificate based on the the repos supplied via --repo_label
--ssl_ca_cert - full path to the certificate authority of CDS servers (defaults to ssl_ca_crt specified in rhui-tools.conf)
--repo_label - identifies the repositories to add. Comma delimited string of repo labels
--days - number of days cert will be valid if new cert is generated
第11章 認定クラウドおよびサービスプロバイダー認定のワークフロー リンクのコピーリンクがクリップボードにコピーされました!
認定クラウドプロバイダー契約では、作成したテナントインスタンスのイメージ (テンプレート) を Red Hat が認定し、エンドカスタマーが完全にサポートされる設定を維持する必要があります。
Red Hat Enterprise Linux 用のイメージを認証するには 2 つの方法があります。推奨される方法は、Certified Cloud and Service Provider (CCSP) イメージ認定ワークフローを使用することです。
認定が Red Hat によって確認されると、合格/不合格が割り当てられ、この認定内容について Red Hat Ecosystem Catalog のパブリックの Red Hat 認定 Web サイトに掲載されます。
第12章 Red Hat Update Infrastructure のバックアップと復元 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Update Infrastructure (RHUI) サーバーをインストールして設定したら、それらをバックアップすることを推奨します。RHUI のバックアップは、問題が発生した場合や RHUI を正しく設定していない場合に役立ちます。このような場合、RHUI を復元することで以前の作業設定に戻すことができます。
RHUI を正常にバックアップするには、すべての RHUA、CDS、および HAProxy ノードをバックアップする必要があります。
12.1. Red Hat Update Appliance のバックアップ リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Update Appliance をバックアップするには、関連するすべてのファイルとストレージをバックアップする必要があります。
RHUA をバックアップするには、関連するサービスを停止する必要があります。ただし、クライアントはコンテンツ配信サーバー (CDS) にのみ接続されているため、サービスを停止しても、クライアントインスタンスがパッケージの更新またはインストールを無効にすることはありません。したがって、自動モニタリングソリューションを導入している場合、バックアッププロセス中にモニタリングが失敗する可能性があります。
手順
pulp-serverサービスを停止します。# systemctl stop pulpcore-api pulpcore-content pulpcore-worker\*サービスが停止したかどうかを確認します。
# systemctl status pulpcore-api pulpcore-content pulpcore-worker\*以下のファイルをバックアップします。
# cp -a <source_files_path> <destination_files_path>重要ファイルをバックアップするときに、ファイルが現在の属性を保持していることを確認してください。
ファイルのリスト:
- /etc/pki/rhui/*
- /etc/pulp/*
- /etc/rhui/*
- /etc/rhui/rhui-tools.conf
- /etc/nginx/*
- /root/.rhui/*
- /var/log/rhui/*
- /var/log/rhui-subscription-sync.log*
オプション: /var/lib/rhui/*
注記このディレクトリーをバックアップすると、ダウンロードされたすべてのコンテンツがバックアップされるため、データ量が多くなる可能性があります。
- 生成されたクライアントエンタイトルメント証明書とクライアント設定 RPM をバックアップします。
RHUI サービスを再起動します。
# rhui-services-restart
12.2. Red Hat Update Appliance データベースのバックアップ リンクのコピーリンクがクリップボードにコピーされました!
手順
postgresユーザーに変更します。# su - postgresPostgreSQL データベースをダンプします。
# pg_dump -j 4 -F d -f <pg_dump_directory> pulp
pg_dump コマンドで使用される引数は次のとおりです。-j 4: pg_dump を 4 つの並列スレッドを使用して実行するように指示します。-F d: 出力の形式としてディレクトリー形式のアーカイブを選択するように pg_dump に指示します。<pg_dump_directory>: pg_dump 出力が書き込まれるディレクトリーのパス。pulp: データベースの名前。
postgres ユーザーは pg_dump_directory を作成して書き込むことができ、十分なディスク容量が必要です。参考までに、約 600 個のリポジトリーで設定された非常に大規模なデータベースのダンプには、約 25 GB 必要です。
この操作には長い時間がかかる場合があります。参考までに、600 個のリポジトリーを持つデータベースの例では、最大 5 時間かかる可能性があります。
12.3. Red Hat Update Appliance の復元 リンクのコピーリンクがクリップボードにコピーされました!
RHUA を復元するには、新しい RHUA ノードを作成し、関連するファイルをバックアップしたバージョンに置き換える必要があります。
手順
- 新しい RHUA ノードを作成します。詳細は、RHUA ノードの設定 を参照してください。
pulp-serverサービスを停止します。# systemctl stop pulpcore-api pulpcore-content pulpcore-worker\*サービスが停止したかどうかを確認します。
# systemctl status pulpcore-api pulpcore-content pulpcore-worker\*以下のファイルを復元します。
# cp -a <source_files_path> <destination_files_path>重要ファイルを復元するときに、ファイルが現在の属性を保持していることを確認してください。
ファイルのリスト:
- /etc/pki/rhui/*
- /etc/pulp/*
- /etc/rhui/*
- /etc/rhui/rhui-tools.conf
- /etc/nginx/*
- /root/.rhui/*
- /var/log/rhui/*
- /var/log/rhui-subscription-sync.log*
オプション: /var/lib/rhui/*
注記このディレクトリーを復元すると、ダウンロードされたすべてのコンテンツが復元されるため、データ量が多くなる可能性があります。
- 生成されたクライアントエンタイトルメント証明書とクライアント設定 RPM を復元します。
RHUI サービスを再起動します。
# rhui-services-restart
12.4. Red Hat Update Appliance データベースの復元 リンクのコピーリンクがクリップボードにコピーされました!
手順
postgresユーザーに変更します。# su - postgresPostgreSQL データベースを復元します。
# pg_restore -j 4 -F d -d pulp <pg_dump_directory>
pg_restore コマンドで使用される引数は次のとおりです。-j 4: 4 つの並列スレッドを使用して pg_restore を実行するように指示します。-F d: 入力の形式としてディレクトリー形式のアーカイブを選択するように pg_restore に指示します。-d pulp: pg_restore にデータベース名 pulp を使用するように指示します。<pg_dump_directory>: pg_dump 出力が読み取られるディレクトリーのパス。
postgres ユーザーは pg_dump_directory を読み取ることができる必要があります。
この操作には長い時間がかかる場合があります。参考までに、600 個のリポジトリーを持つデータベースの例では、最大 5 時間かかる可能性があります。
12.5. コンテンツ配信サーバーのバックアップ リンクのコピーリンクがクリップボードにコピーされました!
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
12.6. コンテンツ配信サーバーの復元 リンクのコピーリンクがクリップボードにコピーされました!
コンテンツ配信サーバーを復元するには、新しい CDS ノードを作成し、関連するファイルをバックアップしたバージョンに置き換える必要があります。
手順
- 新しい 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
12.7. HAProxy サーバーのバックアップ リンクのコピーリンクがクリップボードにコピーされました!
HAProxy サーバーをバックアップするには、関連するすべてのファイルとストレージをバックアップする必要があります。
手順
/etc/haproxy/haproxy.cfgファイルをバックアップします。# cp -a <source_files_path> <destination_files_path>重要ファイルをバックアップするときに、ファイルが現在の属性を保持していることを確認してください。
12.8. HAProxy サーバーの復元 リンクのコピーリンクがクリップボードにコピーされました!
HAProxy サーバーを復元するには、新しい HAProxy ノードを作成し、関連するファイルをバックアップしたバージョンに置き換える必要があります。
手順
- 新しい HAProxy ノードを作成します。詳細は、HAProxy ノードの設定 を参照してください。
/etc/haproxy/haproxy.cfgファイルを復元します。# cp -a <source_files_path> <destination_files_path>重要ファイルを復元するときに、ファイルが現在の属性を保持していることを確認してください。
第13章 プロキシー設定の変更 リンクのコピーリンクがクリップボードにコピーされました!
RHUI はプロキシーサーバーを使用して、Red Hat コンテンツを同期できます。RHUI のインストール時にプロキシーサーバーが指定されていない場合は、プロキシーサーバーは使用されません。それ以外の場合は、このプロキシーサーバーは、追加したすべての RHUI リポジトリーで使用されます。この章では、プロキシーサーバー設定を変更する方法を説明します。
13.1. 新しいプロキシーサーバーの設定または既存のプロキシーサーバーの設定解除 リンクのコピーリンクがクリップボードにコピーされました!
必要に応じて、次の手順を実行します。
- プロキシーサーバーの設定なしでインストールされた RHUI 環境でプロキシーサーバーの使用を開始する。
- 現在のプロキシーサーバーの設定を編集する。たとえば、サーバーのホスト名が変更された場合などです。
- RHUI 環境がインストールされたプロキシーサーバーの使用を停止する。
手順
プロキシーサーバーの設定オプションを設定 (または設定解除) するには 2 つの方法があります。
最初のオプション: インストーラーを再実行して、グローバル RHUI ツール設定と応答ファイルを更新します。
rhui-installer --rerun --proxy-protocol <PROTOCOL> \ --proxy-hostname <HOSTNAME> \ --proxy-port <PORT> \ --proxy-username <USERNAME> \ --proxy-password <PASSWORD>2 番目のオプション: ローカルオーバーライドファイル
/root/.rhui/rhui-tools-custom.confを作成 (または編集) して、次の内容を含めます。[proxy] proxy_protocol: <PROTOCOL> proxy_host: <HOSTNAME> proxy_port: <PORT> proxy_user: <USERNAME> proxy_pass: <PASSWORD>注記このオプションは、RHUI 4.11 で導入されました。
どちらの場合も、パラメーターは次のとおりです。
PROTOCOLにはhttpまたはhttpsのいずれかを指定します (プロキシーサーバーを設定する場合)。プロキシーサーバーの設定を解除する場合は、以下を確認してください。-
インストーラーを再実行する場合は、
--proxy-protocol引数を使用しないでください。 - ローカルファイルを使用する場合は、値を空のままにします。
-
インストーラーを再実行する場合は、
HOSTNAMEは新しいプロキシーサーバーのホスト名を指定します。設定を消去する場合は、以下を確認してください。-
インストーラーを再実行する場合は、二重引用符 (
"") で囲んだ空の文字列を使用します。 - ローカルファイルを使用する場合は、値を空のままにします。
-
インストーラーを再実行する場合は、二重引用符 (
PORTは、プロキシーサーバーがリッスンしている TCP ポートに指定します (通常は3128です)。設定を消去する場合は、以下を確認してください。-
インストーラーを再実行する場合は、
--proxy-port引数を使用しないでください。 - ローカルファイルを使用する場合は、値を空のままにします。
-
インストーラーを再実行する場合は、
USERNAMEはオプションのパラメーターです。プロキシーサーバーに認証情報が必要な場合にのみ使用してください。そうでない場合または、設定を消去する場合は、以下を確認してください。-
インストーラーを再実行する場合は、
""を使用します。 -
ローカルファイルを使用する場合は、値を空のままにするか、
proxy_user:オプションを使用しないでください。
-
インストーラーを再実行する場合は、
PASSWORDも同じです。例:
プロキシーサーバーの使用を開始します。このサーバーには認証情報は必要ありません。
インストーラーの場合:
rhui-installer --rerun --proxy-protocol http --proxy-hostname squid.example.com --proxy-port 3128ローカルファイルの場合:
[proxy] proxy_host: squid.example.com proxy_protocol: http proxy_port: 3128
プロキシーサーバーのホスト名を変更します。その他はすべて同じままです。
インストーラーの場合:
rhui-installer --rerun --proxy-hostname newsquid.example.comローカルファイルの場合:
[proxy] proxy_host: newsquid.example.com
プロキシーサーバーの使用を停止します。
インストーラーの場合:
rhui-installer --rerun --proxy-hostname ""ローカルファイルの場合:
[proxy] proxy_protocol: proxy_host: proxy_port:重要この新しい設定は、設定が更新された後に追加された 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で定義されている任意の時間です。重要その間リポジトリーは利用できません。
検証
rhui-manager ツールは、リポジトリーで使用されるプロキシーサーバーに関する情報を表示しません。ただし、以下に示すように pulpcore-manager ツールを使用できます。
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-8-for-x86_64-baseos-rhui-rpms-8")
print(rem.proxy_url)
EOM
設定されたプロキシーサーバーの出力は以下のようになります。
http://squid.example.com:3128
指定のリポジトリーで設定されたプロキシーサーバーがない場合は None と出力されます。
第14章 RHUI 4 の一般的な問題を解決 リンクのコピーリンクがクリップボードにコピーされました!
以下の表は、Red Hat Update Infrastructure の既知の問題を示しています。これらの問題が発生した場合は、Bugzilla を通じて問題を報告してください。
| イベント | 既知の問題の説明 | 推奨事項 |
|---|---|---|
| インストールおよび設定 | RHUA と CDS の間でコミュニケーションの問題が発生しています。 | RHUA および CDS に完全修飾ドメイン名 (FQDN) が設定されており、解決可能であることを確認します。 HTTP プロキシーを適切に設定します。 |
| 同期 | リポジトリーを Red Hat と同期することができません。 | RHUI SKU がアカウントにあることを確認します。 適切なコンテンツ証明書が RHUA に読み込まれていることを確認します。 一時的な CDN の問題がないか調べます。 環境内の HTTP プロキシーを確認します。 |
| Red Hat Update Appliance/コンテンツ配信ネットワーク通信 | Red Hat Update Appliance がコンテンツ配信ネットワークと通信していません。 |
|
第15章 Cron ジョブ リンクのコピーリンクがクリップボードにコピーされました!
一部の反復的なタスクは、Red Hat Update Infrastructure、特に RHUA ノードで自動的にスケジュールおよび実行されます。
| ジョブファイル | 目的 | 頻度 | ログファイル |
|---|---|---|---|
|
| 同期されたコンテンツをエクスポートする | 5 分ごと |
|
|
| カスタムリポジトリーへのアップロード内容から一時ディレクトリーをクリーンアップする | 5 分ごと |
|
|
| 予定時刻が来たらリポジトリーを同期する | 5 分ごと |
|
|
| 利用可能なマイナーバージョンに関する情報を更新する | 毎時、HH:34 |
|
|
| エンタイトルメント証明書の変更を確認し、必要に応じて新しい証明書をインポートする | 毎時、HH:01 |
|
RHUA に Postfix などのメール転送エージェントがインストールおよび実行されている場合、出力は /var/log/cron ファイルではなくメールで root ユーザーに送信されます。詳細は、Postfix SMTP サーバーのデプロイと設定 を参照してください。
第16章 RHUI のアップグレード リンクのコピーリンクがクリップボードにコピーされました!
Red Hat は、RHUI を最新の状態に保つことを推奨しています。サポート対象となるのは、最新リリースバージョンだけです。リリースされたアドバイザリーのリストは、Red Hat Update Infrastructure 製品ページ を参照してください。
RHUI を最新の状態に保つ方法は、Red Hat Update Infrastructure のアップグレード を参照してください。
16.1. RHUI アップグレード後のカスタム設定の保持 リンクのコピーリンクがクリップボードにコピーされました!
RHUI のインストール後に rhui-tools.conf ファイルを変更した場合、RHUI を更新すると、その変更内容がデフォルトにリセットされます。
アップグレード後も変更を維持するには、/root/.rhui/rhui-tools-custom.conf ファイルを作成します。このファイルで指定したセクションは、デフォルトの設定をオーバーライドします。
例: カスタム同期ポリシー
次の例は、/root/.rhui/rhui-tools-custom.conf でカスタム同期ポリシーを定義する方法を示しています。
[rhui]
# The sync policy can be either "immediate" or "on_demand"
default_sync_policy: on_demand