Red Hat Update Infrastructure の設定および管理


Red Hat Update Infrastructure 4

Red Hat Update Infrastructure 4 の設定および修正

Red Hat Customer Content Services

概要

このガイドでは、Red Hat Update Infrastructure 4 (RHUI 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 コンポーネントを示しています。

Expand
表1.1 Red Hat Update Infrastructure のコンポーネントおよび機能
コンポーネント略語機能代替モジュール

Red Hat Update Appliance

RHUA

Red Hat コンテンツ配信ネットワークからコンテンツをダウンロードし、共有ストレージに保存します。

なし

コンテンツ配信サーバー

CDS

クライアントが更新パッケージ用に接続する yum リポジトリーを提供する

なし

HAProxy

なし

CDS ノード全体での負荷分散を提供する

既存の負荷分散ソリューション

共有ストレージ

なし

共有ストレージを提供する

既存のストレージソリューション

以下の表は、インストールタスクを実行する方法を説明します。

Expand
表1.2 Red Hat Update Infrastructure のインストールタスク
インストールタスク実行する場所

RHEL 8 のインストール

RHUA、CDS、および HAProxy

RHUI コンシューマータイプでシステムを登録する

RHUA

デフォルトのコンシューマータイプでシステムを登録する

CDS および HAProxy

更新の適用

RHUA、CDS、および HAProxy

rhui-installer のインストール

RHUA

rhui-installer の実行

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 ノード
  • 既存のロードバランサー
  • 既存のストレージソリューションを備えた RHUA
  • この既存の共有ストレージを備えた 2 つ以上の CDS ノード
  • 既存のロードバランサー
重要

Red Hat Update Infrastructure は、少なくとも 2 つの CDS ノードと 1 つのロードバランサーノードとともに使用する必要があります。ロードバランサーノードがなく、CDS ノードが 1 つだけのインストールはサポートされていません。

以下は、さまざまな Red Hat Update Infrastructure 4 コンポーネントがどのように対話するかに関する俯瞰図です。

図1.1 Red Hat Update Infrastructure 4 の概要

Red Hat Update Infrastructure Overview

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 通信プロトコルを使用します。

Expand
表1.3 Red Hat Update Infrastructure の通信プロトコル
ソース宛先プロトコル目的

Red Hat Update Appliance

Red Hat コンテンツ配信ネットワーク

HTTPS

Red Hat からパッケージをダウンロードする。

ロードバランサー

コンテンツ配信サーバー

HTTPS

リポジトリーのメタデータとパッケージに対するクライアントの要求を転送する。

クライアント

ロードバランサー

HTTPS

クライアント上の yum がコンテンツをダウンロードするために使用する。

コンテンツ配信サーバー

Red Hat Update Appliance

HTTPS

コンテンツに関する情報を Pulp API に要求する場合がある。

RHUI ノードでは、相互に通信するために以下のネットワークアクセスが必要です。

注記

ネットワークポートを開放して、使用する予定のノードだけにネットワークアクセスが制限されていることを確認してください。

Expand
表1.4 Red Hat Update Infrastructure ネットワークアクセス
ノード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 オプションの完全なリストを表示します。

手順

  1. Red Hat Update Infrastructure Management Tool のホーム画面に移動します。

    [root@rhua ~]# rhui-manager
  2. u を押して、manage RHUI users を選択します。
  3. 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:
  4. 新しいパスワードを入力し、再度入力すると変更が確定します。

    New Password:
    Re-enter Password:
    
    [localhost] env PULP_SETTINGS=/etc/pulp/settings.py /usr/bin/pulpcore-manager reset-admin-password -p ********

検証

  1. 管理者パスワードを変更すると、次のようなメッセージが表示されます。

    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 環境でそのリポジトリーを提供できます。

手順

  1. Red Hat Update Infrastructure Management Tool のホーム画面に移動します。

    [root@rhua ~]# rhui-manager
  2. r を押して manage repositories を選択します。
  3. Repository Management 画面で a を押して、add a new Red Hat content repository を選択します。
  4. Red Hat Update Infrastructure Management Tool がエンタイトルメントのあるリポジトリーを判断するのを待ちます。これには数分の時間がかかる場合があります。

    rhui (repo) => a
    
    Loading latest entitled products from Red Hat...
    ... listings loaded
    Determining undeployed products...
    ... product list calculated
  5. Red 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:
  6. 複数のリポジトリーを製品としてまとめて追加するには (通常は製品のすべてのマイナーバージョンをワンステップで追加します)、2 を押して By Product 方式を選択します。または、By Repository 方式を使用して、特定のリポジトリーを追加することもできます。
  7. プロンプトでリポジトリーの数を入力して、追加するリポジトリーを選択します。また、1 - 5 などと入力して、リポジトリーの範囲を選択することもできます。

    Enter value (1-620) to toggle selection, 'c' to confirm selections, or '?' for more commands:
  8. 追加するリポジトリーがすべて確認されるまで続行します。
  9. リポジトリーの選択が完了したら、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)
  10. 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.

検証

  1. Repository Management 画面で l を押し、正しいリポジトリーがインストールされていることを確認します。

2.3. RHUI 4 で現在管理しているリポジトリーのリスト表示

リポジトリーには、Linux ディストリビューション用のダウンロード可能なソフトウェアが含まれています。yum を使用して、リポジトリーから RPM の検索、インストール、またはダウンロードのみを行います。

手順

  1. Red Hat Update Infrastructure Management Tool のホーム画面に移動します。

    [root@rhua ~]# rhui-manager
  2. r を押して manage repositories を選択します。
  3. 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 画面では、特定のリポジトリーに関する情報を表示できます。

手順

  1. Red Hat Update Infrastructure Management Tool のホーム画面に移動します。

    [root@rhua ~]# rhui-manager
  2. r を押して manage repositories を選択します。
  3. Repository Management 画面で、i を押します。

    Enter value (1-1631) to toggle selection, 'c' to confirm selections, or '?' for more commands:
  4. リポジトリー名の横にある値を入力してリポジトリーを選択します。製品の選択を確認する前に、一度に 1 つのリポジトリー選択を入力します。
  5. 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

検証

  1. 選択した内容にも同様の出力が表示されます。

2.5. リポジトリーステータスファイルの生成

すべての RHUI リポジトリーのステータスを表示し、いくつかの追加情報を提供する、機械判読可能な JSON ファイルを生成できます。これは、リポジトリーのステータスを受動的に監視する場合などに便利です。

2.5.1. RHUI リポジトリーのステータスファイルの生成

rhui-manager コマンドを使用すると、各リポジトリーのステータスを機械判読可能な形式で取得できます。

手順

2.5.2. リポジトリーステータス JSON ファイル内のディクショナリーキーのリスト

各 RHUI リポジトリーのステータスを取得するコマンドを実行すると、機械判読可能な JSON ファイルが作成されます。JSON ファイルには、リポジトリーごとに 1 つのディクショナリーを含むディクショナリーのリストが含まれています。

カスタムリポジトリーのディクショナリーキーのリスト

Expand
表2.1 カスタムリポジトリーのディクショナリーキーのリスト
キー説明

base_path

リポジトリーのパス。

description

リポジトリーの名前。

group

リポジトリーが属するグループ。これは常に文字列、custom に設定されます。

id

リポジトリー ID。

name

リポジトリーの名前。リポジトリー ID と同じです。

Red Hat リポジトリーのディクショナリーキーのリスト

Expand
表2.2 Red Hat リポジトリーのディクショナリーキーのリスト
キー説明

base_path

リポジトリーのパス。

description

リポジトリーの名前。

group

リポジトリーが属するグループ。これは常に文字列 redhat に設定されます。

id

リポジトリー ID。

last_sync_date

リポジトリーが最後に同期された日時。リポジトリーが一度も同期されていない場合、値は null になります。

last_sync_exception

リポジトリーの同期に失敗した場合に発生する例外。リポジトリーが正しく同期された場合、値は null になります。

last_sync_result

同期タスクの結果。

値は以下のようになります。

  • completed: リポジトリーが正しく同期された場合。
  • null: リポジトリーが一度も同期されなかった場合。
  • failed: 同期に失敗した場合。
  • running: 同期タスクが現在実行中の場合。

last_sync_traceback

リポジトリーの同期に失敗した場合に記録されたトレースバック。リポジトリーが正しく同期された場合、または一度も同期されなかった場合、値は null になります。

metadata_available

リポジトリーでメタデータが利用可能かどうかを示すブール値。

name

リポジトリーの名前。リポジトリー ID と同じです。

next_sync_date

次にスケジュールされているリポジトリーの同期の日時。同期タスクが現在実行中の場合、値は running になります。

repo_published

このリポジトリーが RHUI で公開されているかどうかを示すブール値。デフォルトでは、RHUI はリポジトリーを自動的に公開するように設定されている点に注意してください。

2.6. リポジトリーのオンデマンド同期の設定

RHUI では、特定のリポジトリーを on_demand 同期モードに設定することで、事前にストレージにダウンロードされるコンテンツの量を最小限に抑えることができます。この方法では、RHUI はクライアントマシンから要求された場合にのみコンテンツをダウンロードして保存するため、ストレージ使用量とコストが削減されます。ただし、この方法のマイナス面は、RHUI のパフォーマンスが Red Hat CDN ネットワークへの接続速度に依存することです。

リポジトリーコンテンツのタイプ

リポジトリーコンテンツには次の 3 つのタイプがあります。

  1. バイナリー RPM リポジトリー
  2. ソース RPM リポジトリー
  3. デバッグ RPM リポジトリー

同期ストラテジー

上記の各リポジトリータイプは、次のどちらかの同期ポリシーに設定できます。

  1. immediate
  2. 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] セクションを配置します。次に、このセクションに特定のオーバーライドを追加して、特定のコンテンツタイプの動作をカスタマイズできます。利用可能なオプションは次のとおりです。

  1. rpm_sync_policy
  2. source_sync_policy
  3. 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 はクライアントマシンからの要求に応じてコンテンツをダウンロードします。

ヒントとコツ

  1. RHUI をインストールした直後にすべてのリポジトリーを on_demand に設定すると、最初にメタデータを同期するだけで済むため、デプロイが高速化し、エンドユーザーへの提供が迅速化します。
  2. 新しいインストール環境があり、古いバージョンの 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 のアクセス権がある。

手順

  1. 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.6
  2. rhui-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 コンテンツリポジトリーと同様、保護されているすべてのカスタムリポジトリーが、プロセッサーアーキテクチャーでのみ異なる (i386AMD64) 場合は、$basearch yum 変数を使用して、エンタイトルメント証明書内の単一のエンタイトルメントに統合されます。

証明書に問題がある場合には、RHUI サーバーの保護されていないリポジトリーを、更新された RPM を RHUI クライアントに配布するためのフォールバック方法として使用できます。

手順

  1. Red Hat Update Infrastructure Management Tool のホーム画面に移動します。

    [root@rhua ~]# rhui-manager
  2. r を押して manage repositories を選択します。
  3. Repository Management 画面で c を押して、create a new custom repository (RPM content only) を選択します。
  4. リポジトリーの一意の ID を入力します。英数字、_ (アンダースコア)、および - (ハイフン) のみが許可されます。一意の ID でスペースを使用することはできません。たとえば、repo1repo_1、および repo-1 は有効なエントリーになります。

    Unique ID for the custom repository (alphanumerics, _, and - only):
  5. リポジトリーの表示名を入力します。この名前には、ID では使用できないスペースやその他の文字を含めることができます。名前にはデフォルトで ID が使用されます。

    Display name for the custom repository [repo_1]:
  6. リポジトリーをホストするパスを指定します。このパスは、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]:
  7. 新規リポジトリーを保護するかどうかを選択します。この質問に no と回答すると、すべてのクライアントがリポジトリーにアクセスできます。yes と回答すると、適切なエンタイトルメント証明書を持つクライアントのみがリポジトリーにアクセスできます。

    警告

    名前が示すように、保護されていないリポジトリーのコンテンツは、クライアントのエンタイトルメント証明書を必要とせずに要求するシステムで利用できます。保護されていないリポジトリーを使用してコンテンツを配信する場合は、更新されたクライアント設定 RPM などのコンテンツを配布する場合は注意してください。これにより、保護されたリポジトリーへのアクセスが提供されます。

  8. 以下のような質問に 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)
  9. 新しいリポジトリーの詳細が表示されます。プロンプトが表示されたら y を押して、情報を確認し、リポジトリーを作成します。

検証

  1. Repository Management 画面で l を押し、正しいリポジトリーがインストールされていることを確認します。

2.9. RHUI 4 からのリポジトリー削除

Red Hat Update Infrastructure Management Tool が Red Hat リポジトリーを削除すると、RHUA および適用可能なすべての CDS ノードからリポジトリーが削除されます。

手順

  1. Red Hat Update Infrastructure Management Tool のホーム画面に移動します。

    [root@rhua ~]# rhui-manager
  2. r を押して manage repositories を選択します。
  3. Repository Management 画面で d を押して、Red Hat リポジトリーを削除します。RHUI が現在管理しているリポジトリーのリストが表示されます。
  4. プロンプトでリポジトリーの数を入力して、削除するリポジトリーを選択します。リポジトリーの数を入力すると、そのリポジトリー名の横にチェックマークが付けられます。また、1 - 5 などと入力して、リポジトリーの範囲を選択することもできます。
  5. 削除するリポジトリーがすべて確認されるまで続行します。
  6. プロンプトで c を押して確認します。

    注記

    リポジトリーの削除後、削除されたリポジトリーを参照するクライアント設定 RPM は yum では使用できません。

2.10. カスタムリポジトリーへのコンテンツのアップロード (RPM コンテンツのみ)

複数のパッケージを同時にアップロードし、一度に複数のリポジトリーにアップロードできます。パッケージは RHUA に即時にアップロードされますが、CDS ノードが次回同期するまで CDS ノードでは使用できません。

手順

  1. Red Hat Update Infrastructure Management Tool のホーム画面に移動します。

    [root@rhua ~]# rhui-manager
  2. r を押して manage repositories を選択します。
  3. Repository Management 画面で、u を押します。

    Select the repositories to upload the package into:
      -    1: test
  4. 値 (1-1) を入力すると、選択が切り替わります。
  5. c を押して選択を確認します。
  6. アップロードするパッケージの場所を入力してください。場所が RPM の場合は、ファイルがアップロードされます。場所がディレクトリーの場合は、そのディレクトリー内のすべての RPM がアップロードされます。

    /root/bear-4.1-1.noarch.rpm
    
    The following RPMs will be uploaded:
      bear-4.1-1.noarch.rpm
  7. y を押して続行するか、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 でアクセスできる必要があります。

手順

  1. Red Hat Update Infrastructure Management Tool のホーム画面に移動します。

    [root@rhua ~]# rhui-manager
  2. r を押して manage repositories を選択します。
  3. Repository Management 画面で、ur を押します。

    Select the repositories to upload the package into:
      -    1: test
  4. 値 (1-1) を入力すると、選択が切り替わります。
  5. 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.         #
    #                                                                         #
    ###########################################################################
  6. アップロードするパッケージのリモート 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.rpm
  7. y を押して続行するか、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

検証

  • カスタムリポジトリーを使用するクライアントシステムで以下を行います。

    1. リポジトリーデータを更新します。

      # yum clean metadata
    2. リポジトリーデータを一覧表示し、comps ファイルが更新されていることを確認します。

      # yum grouplist

2.13. カスタムリポジトリーからのコンテンツの削除 (カスタム RPM コンテンツのみ)

RHUI の Text User Interface (TUI) を使用して、カスタムリポジトリーからパッケージを削除できます。

コマンドラインインターフェイス (CLI) コマンドは、「RHUI 4 CLI オプションの使用」 を参照してください。

手順

  1. Red Hat Update Infrastructure Management Tool のホーム画面に移動します。

    [root@rhua ~]# rhui-manager
  2. r を入力して、manage repositories を選択します。
  3. 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)
  4. 値を入力してリポジトリーを選択します。

    Choose a repository to delete packages from:
        1 - Test-RPM-1
        2 - Test-RPM-2
  5. 値を入力して削除するパッケージを選択します。

    Select the packages to remove:
      -    1: example-package-1.noarch.rpm
      -    2: example-package-2.noarch.rpm
  6. c を入力して選択を確定します。

    The following packages will be removed:
      example-package-1.noarch.rpm
  7. y を入力して続行するか、n を入力してキャンセルします。

    Removed example-package-1.noarch.rpm

2.14. リポジトリー内のパッケージのリスト表示 (RPM コンテンツのみ)

Red Hat Update Infrastructure Management Tool 内のリポジトリーのリストを表示する際に、パッケージ数が 100 未満のリポジトリーのみがそのコンテンツを表示します。100 を超えるパッケージでは、パッケージ数のみが表示されます。

手順

  1. Red Hat Update Infrastructure Management Tool のホーム画面に移動します。

    [root@rhua ~]# rhui-manager
  2. r を押して manage repositories を選択します。
  3. Repository Management 画面で、p を押します。
  4. 表示するリポジトリーの数を選択します。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

検証

  1. 3 種類あるメッセージの 1 つが表示されます。

    Packages:
      bear-4.1-1.noarch.rpm
    Package Count: 8001
    No 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 証明書で署名されている。

手順

  1. Red Hat Update Infrastructure Management Tool のホーム画面に移動します。

    [root@rhua ~]# rhui-manager
  2. e を押して create entitlement certificates and client configuration RPMs を選択します。
  3. e を押して、generate an entitlement certificate を選択します。
  4. プロンプトでリポジトリーの番号を入力して、エンタイトルメント証明書に含めるリポジトリーを選択します。リポジトリー数を入力すると、リポジトリー名前の横に x が付けられます。追加するすべてのリポジトリーがチェックされるまで続行します。

    重要

    単一の RHEL バージョンのリポジトリーのみを単一のエンタイトルメントに含めます。複数の RHEL バージョンのリポジトリーを追加すると、使用できない yum 設定ファイルが発生します。

  5. プロンプトで c を押して確認します。
  6. 証明書の名前を入力します。この名前は、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.
  7. 証明書を保存するパスを入力します。フィールドを空白のままにして、現在の作業ディレクトリーに保存します。
  8. 証明書が有効な日数を入力します。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)
  9. プロンプトが表示されたら y を押して、情報を確認し、エンタイトルメント証明書を作成します。

検証

  1. エンタイトルメント証明書が作成されると、同様のメッセージが表示されます。

    ..........................+++++
    ....+++++
    Entitlement certificate created at ./rhel8-for-rhui4.crt
    
    ------------------------------------------------------------------------------

3.2. CLI でのクライアントエンタイトルメント証明書の作成

Red Hat は、元のエンタイトルメント証明書を発行すると、要求したリポジトリーへのアクセスが許可されます。クライアントエンタイトルメント証明書を作成すると、クライアントを細分化して、それぞれに個別の証明書を作成する方法を決定します。その後、各証明書を使用して個別の RPM を作成できます。

前提条件

  • エンタイトルメント証明書が、クラウドプロバイダーの CA 証明書で署名されている。

手順

  1. 以下のコマンドを使用して、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 を使用します。

検証

  1. エンタイトルメント証明書の作成に成功した場合も同様のメッセージが表示されます。

    Entitlement certificate created at /root/clientcert/rhuiclientexample.crt

クライアントのエンタイトルメント証明書を確認することで、RHUI のインスタンスが準拠している暗号化ポリシーを確認できます。

  • RHUI バージョン 3.1 から 4.0 に生成される証明書は、FIPS および DEFAULT 暗号化ポリシーに準拠しています。
  • RHUI バージョン 4.1 以降によって生成された証明書は、FIPSDEFAULT、および FUTURE の暗号化ポリシーに準拠しています。

前提条件

  • クライアントエンタイトルメント証明書の場所を把握している。

    デフォルトの場所は /etc/pki/rhui/product/content.crt です。

手順

  1. クライアント RPM、または RPM がインストールされているマシンで、クライアントエンタイトルメント証明書が保存されるパスを指定して以下のコマンドを実行します。

    # openssl x509 -noout -text -in /etc/pki/rhui/product/content.crt | grep bit
  2. RSA 鍵の長さを確認します。

    • 長さが 2048 ビットの場合には、クライアントエンタイトルメント証明書は FUTURE ポリシーに準拠していません。
    • 長さが 4096 ビットの場合には、クライアントエンタイトルメント証明書は FUTURE ポリシーに準拠しています。

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 を作成します。

手順

  1. Red Hat Update Infrastructure Management Tool のホーム画面に移動します。

    [root@rhua ~]# rhui-manager
  2. e を押して create entitlement certificates and client configuration RPMs を選択します。
  3. Client Entitlement Management 画面で c を押し、create a client configuration RPM from an entitlement certificate を選択します。
  4. ローカルディレクトリーの完全なパスを入力し、設定ファイルを保存します。

    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):
  5. RPM の名前を入力します。
  6. 設定 RPM のバージョンを入力します。デフォルトのバージョンは 2.0 です。
  7. 設定 RPM のリリースを入力します。デフォルトのリリースは 1 です。
  8. 特定のリポジトリーへのアクセスをクライアントに許可するエンタイトルメント証明書への完全なパスを入力します。
  9. エンタイトルメント証明書の秘密鍵への完全パスを入力します。
  10. クライアント設定に含める保護されていないカスタムリポジトリーを選択します。
  11. c を押して選択するか、その他のコマンドには ? を確定します。

検証

  1. 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 を作成します。

手順

  1. 以下のコマンドを使用して、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 パラメーターを使用します。

検証

  1. クライアント設定 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 設定内のカスタムリポジトリーに使用されます。

手順

  1. 次の例では、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 鍵ファイルを指定してください。

  2. 関連する 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
  3. エンタイトルメント証明書を作成します。証明書で許可されるリポジトリーラベルのリストが必要です。多くの場合、リポジトリーラベルはリポジトリー 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 を作成します。これらのファイルは次のステップで必要になります。

  4. クライアント設定 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

  5. この 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

検証

  1. カスタムリポジトリーの内容を確認します。

    # rhui-manager packages list --repo_id client-config-rhel-8-x86_64

    このコマンドは、アップロードした RPM ファイルを出力するためのものです。

  2. CDS ノードと HAProxy ノードを設定 (このガイドで後ほど説明) してから、テスト仮想マシンにクライアント設定 RPM をインストールし、テスト仮想マシンで次のコマンドを実行して、関連するすべてのリポジトリーへのアクセスを確認することもできます。

    # yum -v repolist

    このコマンドは、設定された Red Hat Enterprise Linux 8 リポジトリーとクライアント設定 RPM 用のカスタムリポジトリーを出力するためのものです。

クライアント設定 RPM の更新

クライアント設定 RPM を再ビルドする必要がある場合は、バージョン番号を増やします。

  1. 前回の呼び出しで 1.0 を使用した場合は、2.0 などを使用します。他のパラメーターはそのままにします。

    # rhui-manager client rpm --dir /tmp --rpm_name rhui-client-rhel-8-x86_64 --rpm_version 2.0 ...
  2. 再度、新しい 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
  3. これで、以前のバージョンの 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-managerrh-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 コンテンツ証明書でエンタイトルメントの付いた製品のリストを表示し、新しい証明書をアップロードするのに使用されます。

手順

  1. Red Hat Update Infrastructure Management Tool のホーム画面に移動します。

    [root@rhua ~]# rhui-manager
  2. n を押して manage Red Hat entitlement certificates を選択します。
  3. 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

検証

  1. 現在の Red Hat コンテンツ証明書に含まれるエンタイトルされた製品のリストが表示されます。

4.3.2. カスタムリポジトリーエンタイトルメントのリスト表示

Entitlements Manager 画面を使用して、カスタムリポジトリーのエンタイトルメントをリスト表示できます。

手順

  1. Red Hat Update Infrastructure Management Tool のホーム画面に移動します。

    [root@rhua ~]# rhui-manager
  2. n を押して manage Red Hat entitlement certificates を選択します。
  3. 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 画面では、特定のリポジトリーに関する情報を表示することができます。

手順

  1. Red Hat Update Infrastructure Management Tool のホーム画面に移動します。

    [root@rhua ~]# rhui-manager
  2. s を押して、synchronization status and scheduling を選択します。
  3. 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 画面では、実行同期タスクの状況を確認することができます。

手順

  1. Red Hat Update Infrastructure Management Tool のホーム画面に移動します。

    [root@rhua ~]# rhui-manager
  2. s を押して、synchronization status and scheduling を選択します。
  3. 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 画面では、前回のリポジトリー同期の詳細を確認することができます。

手順

  1. Red Hat Update Infrastructure Management Tool のホーム画面に移動します。

    [root@rhua ~]# rhui-manager
  2. s を押して、synchronization status and scheduling を選択します。
  3. Synchronization Status 画面から vr を押します。
  4. 詳細を確認するリポジトリーの番号を入力します。

    Enter value (1-66) or 'b' to abort:

検証

  1. 選択したリポジトリーが同期されていない場合も同様のメッセージが表示されます。

    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 のすべてのリポジトリーを同期できます。

手順

  1. Red Hat Update Infrastructure Management Tool のホーム画面に移動します。

    [root@rhua ~]# rhui-manager
  2. s を押して、synchronization status and scheduling を選択します。
  3. 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
             -------------------------------------------------
  4. リポジトリー名の横にある値を入力してリポジトリーを選択します。製品の選択を確認する前に、一度に 1 つのリポジトリー選択を入力します。

    x  714: Error        2021-11-17 20:30:00    Red Hat Enterprise Linux 8 for ARM 64 - AppStream (RPMs) from RHUI (8.4)
  5. 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) y
  6. y を押して続行します。

    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. アクティブな同期タスクのキャンセル

ほとんどの環境では、スケジュールされているリポジトリーを同期します。アクティブな同期タスクをキャンセルする必要がある状況が発生する場合があります。

前提条件

  • 既存のリポジトリーがある。
  • アクティブな同期タスクがある。

手順

  1. Red Hat Update Infrastructure Management Tool のホーム画面に移動します。

    [root@rhua ~]# rhui-manager
  2. s を押して、synchronization status and scheduling を選択します。
  3. Synchronization Status 画面から ca を押して、cancel active sync tasks を選択します。
  4. 取り消すタスクまたはタスクの値を入力します。

    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:
  5. c を押して選択を確認します。
  6. 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)

検証

  1. アクティブな同期タスクをキャンセルすると、この例と同様のメッセージが表示されます。

    Canceling active task for repo Red Hat Enterprise Linux 8 for x86_64 - AppStream from RHUI (Debug RPMs) (8.2) ...
    ... done

5.6. 待機中の同期タスクのキャンセル

ほとんどの環境では、スケジュールされているリポジトリーを同期します。保留中の同期タスクをキャンセルする必要がある状況が発生する可能性があります。

前提条件

  • 既存のリポジトリーがある。
  • 同期タスクがスケジュールされている。

手順

  1. Red Hat Update Infrastructure Management Tool のホーム画面に移動します。

    [root@rhua ~]# rhui-manager
  2. s を押して、synchronization status and scheduling を選択します。
  3. Synchronization Status 画面で cw を押し、cancel waiting sync tasks を選択します。
  4. 取り消すタスクまたはタスクの値を入力します。

    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: 1
  5. c を押して選択を確認します。

    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: c
  6. y を押して続行します。

    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

検証

  1. キャンセルに成功した場合も同様のメッセージが表示されます。

    Canceling pending task for repo Single Sign-On 7.4 for RHEL 8 x86_64 (Source RPMs) from RHUI ...
    ... done
  2. 保留中の同期タスクがない場合は、以下のメッセージが表示されます。

    There are no repositories with pending sync related tasks.

5.7. リポジトリーの自動公開ステータスの表示と変更

Synchronization Status 画面では、リポジトリーの自動公開ステータスを確認変更することができます。

手順

  1. Red Hat Update Infrastructure Management Tool のホーム画面に移動します。

    [root@rhua ~]# rhui-manager
  2. s を押して、synchronization status and scheduling を選択します。
  3. 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)
  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)
  5. c を押して選択を確認します。
  6. y を押して続行します。

検証

  1. 選択して確定したときにも同様のメッセージが表示されます。

    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 画面を使用して、リポジトリーのワークフローを確認したり変更したりすることができます。

手順

  1. Red Hat Update Infrastructure Management Tool のホーム画面に移動します。

    [root@rhua ~]# rhui-manager
  2. s を押して、synchronization status and scheduling を選択します。
  3. Synchronization Status 画面から wf を押します。
  4. 値 (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)
  5. y を押して続行します。

検証

  1. スケジューリングに成功した場合も同様のメッセージが表示されます。

    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 画面を使用すると、いつでもリポジトリーをファイルシステムに強制的にエクスポートできます。

手順

  1. Red Hat Update Infrastructure Management Tool のホーム画面に移動します。

    [root@rhua ~]# rhui-manager
  2. s を押して、synchronization status and scheduling を選択します。
  3. Synchronization Status 画面から、ex を押します。
  4. 値を入力すると、選択が切り替わります。
  5. 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)
  6. y を押して続行します。

検証

  1. リポジトリーがファイルシステムにエクスポートされている場合も、同様のメッセージが表示されます。

    [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 は実行されません。

手順

  1. Red Hat Update Infrastructure Management Tool のホーム画面に移動します。

    [root@rhua ~]# rhui-manager
  2. c を押して、manage content delivery servers (CDS) を選択します。
  3. Content Delivery Server (CDS) Management 画面で a を押して、新しい CDS インスタンスを追加します。
  4. 追加する CDS のホスト名を入力します。

    Hostname of the CDS instance to register:
    cds1.example.com
  5. CDS への SSH アクセスがあり、sudo 権限を持つユーザー名を入力します。

    Username with SSH access to <cds1.example.com> and sudo privileges:
    <cloud-user>
  6. 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
  7. 利用可能なパッケージの最新バージョンでインスタンスを更新します。

    Update instance after registering? (y/n): y
  8. オプション カスタム 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.
  9. コンテンツ配信サーバーを追加できない場合は、ファイアウォールルールが RHUA と CDS 間のアクセスを許可していることを確認します。
  10. 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)
  11. 設定に成功すると、残りのすべての CDS ノードでこの手順を繰り返します。

6.2. RHUI 4 で管理されているすべての既知の CDS インスタンスのリストアップ

Content Delivery Server (CDS) Management 画面を使用して、Red Hat Update Infrastructure 4 が管理するすべての CDS ノードをリストアップすることができます。

手順

  1. Red Hat Update Infrastructure Management Tool のホーム画面に移動します。

    [root@rhua ~]# rhui-manager
  2. c を押して、manage content delivery servers (CDS) を選択します。
  3. 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 は実行されません。

手順

  1. Red Hat Update Infrastructure Management Tool のホーム画面に移動します。

    [root@rhua ~]# rhui-manager
  2. c を押して、manage content delivery servers (CDS) を選択します。
  3. Content Delivery Server (CDS) Management 画面で、r を押して、reinstall and reapply configuration to an existing CDS instance を選択します。Red Hat Update Infrastructure Management Tool は、すべての再インストールおよび再設定タスクを自動的に実行します。
  4. 再インストールする CDS を選択します。

        1 -
        Hostname:             <cds1.example.com>
        SSH Username:     <cloud-user>
        SSH Private Key:     /<cloud-user>/.ssh/id_rsa_rhua
  5. Enter a value or b to abort: 1: で 1 を入力します。
  6. 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.

検証

  1. コードの出力を表示して、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 ノードを再インストールする必要があります。

手順

  1. CDS ノードで、/etc/pki/rhui/legacy ディレクトリーがない場合は作成します。

    # mkdir /etc/pki/rhui/legacy
  2. レガシー CA 証明書をディレクトリーに保存します。

検証

  • CDS ノードは、CA 証明書をディレクトリーに保存するとすぐにレガシー CA の受け入れを開始します。

6.5. レガシー CA の受け入れ停止の CDS 設定

コンテンツ配信サーバー (CDS) ノードがレガシー認証局 (CA) を受け入れないように制限するには、それぞれの CA 証明書を削除します。

前提条件

  • クライアントが対象の CA を使用していない。

手順

  1. CDS ノードで、/etc/pki/rhui/legacy/ ディレクトリーに移動します。

    # cd /etc/pki/rhui/legacy/
  2. オプション: 既存の CA 証明書をバックアップします。
  3. 制限する CA に対応する CA 証明書を削除します。

    # rm example-legacy.crt

検証

  • CDS ノードは、CA 証明書の削除直後にレガシー CA の受け入れを停止します。

6.6. CDS の登録解除

使用しない CDS インスタンスを登録解除 (削除) することができます。

手順

  1. Red Hat Update Infrastructure Management Tool のホーム画面に移動します。

    [root@rhua ~]# rhui-manager
  2. c を押して、manage content delivery servers (CDS) を選択します。
  3. Content Delivery Server (CDS) Management 画面で d を押して CDS インスタンスを削除します。
  4. 削除する 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 は実行されません。

前提条件

  1. HAProxy ロードバランサーノードで sshd が稼働しており、port 443 が開いていることを確認する。

手順

  1. Red Hat Update Infrastructure Management Tool のホーム画面に移動します。

    [root@rhua ~]# rhui-manager
  2. l を押して、manage HAProxy load-balancer instances を選択します。
  3. Load-balancer (HAProxy) Management 画面で a を押して、新しいロードバランサーインスタンスを追加します。
  4. 新しいロードバランサーのホスト名を入力します。

    Hostname of the HAProxy Load-balancer instance to register:
    <haproxy1.example.com>
  5. ロードバランサーへの SSH アクセスがあり、sudo 権限を持つユーザー名を入力します。

    Username with SSH access to cds.example.com and sudo privileges:
    <cloud-user>
  6. ロードバランサーインスタンスにログインするために SSH 秘密鍵に絶対的な部分を入力し、Enter を押します。

    Absolute path to an SSH private key to log into cds.example.com as <cloud-user>:
    /<cloud-user>/.ssh/id_rsa_rhua
  7. 利用可能なパッケージの最新バージョンでインスタンスを更新します。

    Update instance after registering? (y/n): y
  8. オプション: ユーザー提供の 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:
  9. ロードバランサーの追加に失敗した場合、ファイアウォールのルールで RHUA とロードバランサー間のアクセスが許可されているか確認してください。
  10. 設定に成功すると、残りのロードバランサーインスタンスにこの手順を繰り返します。

検証

  • 以下のメッセージが表示されます。

    The HAProxy Load-balancer was successfully configured.

7.2. RHUI 4 で管理されているすべての HAProxy ロードバランサーインスタンスのリストアップ

Load-balancer (HAProxy) Management 画面では、RHUI 4 が管理している既知の HAProxy ロードバランサーインスタンスをすべて表示することができます。

手順

  1. Red Hat Update Infrastructure Management Tool のホーム画面に移動します。

    [root@rhua ~]# rhui-manager
  2. l を押して、manage HAProxy load-balancer instances を選択します。
  3. 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 は実行されません。

手順

  1. Red Hat Update Infrastructure Management Tool のホーム画面に移動します。

    [root@rhua ~]# rhui-manager
  2. l を押して、manage HAProxy load-balancer instances を選択します。
  3. Load-balancer (HAProxy) Management 画面で r を押すと、ロードバランサーのインスタンスに設定を再インストールして再適用します。

    Red Hat Update Infrastructure Management Tool は、すべての再インストールおよび再設定タスクを自動的に実行します。

  4. 再インストールするロードバランサーを選択します。

        1 -
        Hostname:             <haproxy1.example.com>
        SSH Username:     <cloud-user>
        SSH Private Key:     /<cloud-user>/.ssh/id_rsa_rhua
  5. Enter a value or b to abort: 1: で 1 を入力します。
  6. 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.

検証

  1. コードの出力を表示して、ロードバランサーが正常に再インストールおよび再設定されたことを確認します。

    Ensuring that HAProxy is available...
    Done.

7.4. HAProxy ロードバランサーの登録解除

使用しない HAProxy ロードバランサーのインスタンスを登録解除 (削除) することができます。

前提条件

  • HAProxy ロードバランサーノードで sshd が稼働しており、port 443 が開いていることを確認する。

手順

  1. Red Hat Update Infrastructure Management Tool のホーム画面に移動します。

    [root@rhua ~]# rhui-manager
  2. l を押して、manage HAProxy load-balancer instances を選択します。
  3. Load-balancer (HAProxy) Management 画面で d を押してロードバランサーインスタンスを削除します。
  4. 削除するロードバランサーのホスト名を入力してください。

    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 セクションを使用してコンテナーを追加できます。

手順

  1. RHUI をインストールしたときにコンテナーサポートを有効にしなかった場合は、RHUA で次のコマンドを実行します。

    # rhui-installer --rerun --container-support-enabled True
    # rhui-manager --noninteractive cds reinstall --all
  2. オプション: /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 オプションの値も変更します。

  3. RHUA ノードで、rhui-manager を実行します。

    # rhui-manager
  4. r を押して、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.com
  5. ac を押して、新しい Red Hat コンテナーを追加します。

    rhui (repo) => ac Specify URL of registry [https://registry.redhat.io]:
  6. 追加するコンテナーがデフォルト以外のレジストリーに存在する場合は、レジストリーの URL を入力します。デフォルトのレジストリーを使用するには、何も入力せずに Enter キーを押します。
  7. レジストリーにコンテナーの名前を入力します。

    jboss-eap-6/eap64-openshift
  8. コンテナーの一意の ID を入力します。

    rhui-manager は、スラッシュとドットをアンダースコアに置き換えることにより、コンテナーの名前をレジストリーから Pulp で使用できる形式に変換します。Enter キーを押すか、任意の名前を入力することで、このように変換された名前を使用できます。

  9. コンテナーの表示名を入力します。

    jboss-eap-6_eap64-openshift
  10. オプション: プロンプトが表示されたら、RHUI 設定でログインとパスワードを設定します。
  11. 表示された概要を確認します。

    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)
  12. y を押して続行し、コンテナーを追加します。

    y
    Successfully added container jboss-eap-6_eap64-openshift

8.3. コンテナーリポジトリーの同期

コンテナーを Red Hat Update Infrastructure に追加したら、rhui-manager ツールを使用してコンテナーを同期できます。

手順

  1. RHUA ノードで、rhui-manager を実行します。

    # rhui-manager
  2. s を押して、synchronization status and scheduling 画面にアクセスします。
  3. sr を押して、個々のリポジトリーを即時に同期します。
  4. 同期するリポジトリーの数を入力します。
  5. c を押して選択を確認します。
  6. リポジトリーを確認し、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 にはロードバランサーの証明書が含まれており、これを使用して、ロードバランサーをコンテナーレジストリーに追加し、コンテナー設定を変更できます。

手順

  1. RHUA ノードで、rhui-manager を実行します。

    # rhui-manager
  2. e を押して、entitlement certificates and client configuration RPMs 画面にアクセスします。
  3. d を押して、create a container client configuration RPM (コンテナークライアント設定 RPM の作成) を実行します。
  4. 設定ファイルを保存するローカルディレクトリーの完全パスを入力します。

    /root/
  5. RPM の名前を入力します。

    containertest
  6. 設定 RPM のバージョン番号を入力します。デフォルトは 2.0 です。
  7. 設定 RPM のリリース番号を入力します。デフォルトは 1 です。
  8. 証明書が有効な日数を入力します。デフォルトは 365 です。

    Successfully created client configuration RPM.
    Location: /root/containertest-2.0/build/RPMS/noarch/containertest-2.0-1.noarch.rpm

8.5. クライアントへのコンテナー設定 RPM のインストール

コンテナー設定 RPM を生成したら、それをローカルマシンにインポートすることでクライアントにインストールできます。

手順

  1. RPM を RHUA ノードからローカルマシンに取得します。

    # scp root@rhua.example.com:/root/containertest-2.0/build/RPMS/noarch/containertest-2.0-1.noarch.rpm .
  2. RPM をローカルマシンからクライアントに転送します。

    # scp containertest-2.0-1.noarch.rpm root@cli01.example.com:.
  3. クライアントに切り替え、RPM をインストールします。

    [root@cli01 ~]# yum install containertest-2.0-1.noarch.rpm

8.6. クライアントでの podman pull コマンドのテスト

podman pull コマンドを使用して、コンテナーのコンテンツを確認できます。

手順

  1. 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
    3d0728c907d55d9faedc4d19de003f21e2a1ebdf3533b3d670a4e2f77c6b35d2
  2. podman 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 で使用されます。

設定ファイル

Expand
表9.1 設定ファイル
コンポーネントファイルまたはディレクトリー使用方法

Red Hat Update Appliance

/etc/pulp/*

Pulp 設定ファイル

 

/etc/rhui/rhui-tools.conf

rhui-manager 設定ファイル

 

/etc/pki/rhui/*

Red Hat Update Infrastructure の証明書

 

/root/.rhui/answers.yaml

RHUA 設定での使用

 

/etc/rhui/rhui-subscription-sync.conf

サブスクリプション同期スクリプトの設定

コンテンツ配信サーバー

/etc/pki/rhui/certs/

CDS の証明書

HAProxy

/etc/haproxy/haproxy.cfg

HAProxy 設定ファイル

RHUI Manager 終了コード

RHUI Manager は、以下のコードを使用して、rhui-manager status コマンドと rhui-manager CLI コマンドを実行した結果を示します。

Expand
表9.2 RHUI Manager 終了コード
ステータスコード説明

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 リポジトリーはエンタイトルメントで使用できないため、追加できませんでした。スペルを確認するか、コマンド rm -f /var/cache/rhui/* を使用してリポジトリーマッピングキャッシュを削除し、再試行してください。

247

Pulp の問題のため、Red Hat リポジトリーを追加できませんでした。詳細は、メッセージとログを確認してください。

248

1 つ以上の Red Hat リポジトリーが RHUI 4 にすでに存在しているため、RHUI 3 から RHUI 4 への移行は停止されました。リポジトリーを削除するか、--force フラグを使用する必要があります。

249

RHUI 設定 /etc/rhui/rhui-tools.conf が無効です。詳細は、メッセージを確認してください。

250

エンタイトルメント証明書は、書き込み可能ではありません。

251

エンタイトルメント証明書の有効期限が切れています。

252

RHUI リポジトリーが含まれていないため、エンタイトルメント証明書は無効です。

253

エンタイトルメント証明書ファイルは、有効な証明書ではありません。

254

コマンドラインエラー: ネットワークの問題により、RHUI CLI を実行できませんでした。

255

引数エラー: 必須の引数が指定されていませんでした。

ログファイル

Expand
表9.3 ログファイル
コンポーネントファイルまたはディレクトリー使用方法

Red Hat Update Appliance

/root/.rhui/rhui.log

Red Hat Update Infrastructure Management Tool のログ

 

/var/log/messages

Pulp のログ (リポジトリーの同期など)

 

/var/log/nginx/access.log and error.log

nginx のログ

 

/var/log/rhui/rhua_ansible.log

CDS および HAproxy 管理ログ、サービスステータスのログ

 

/var/log/rhui/rhui-subscription-sync.log

サブスクリプションの同期ログ

 

/var/log/rhui/rhui-export-repos.log

リポジトリーエクスポートのログ

 

/var/log/rhui/rhui-purge-upload-dirs.log

一時ディレクトリークリーンアップのログ

 

/var/log/rhui/rhui-update-mappings.log

リポジトリーバージョンマッピングのログ

コンテンツ配信サーバー

/var/log/nginx/access.log and error.log

nginx のログ

 

/var/log/nginx/ssl-access.log*

クライアントのコンテンツ要求

 

/var/log/nginx/gunicorn-auth.log

CDS オーソライザープラグインのログ。デフォルトでは、エンタイトルメント証明書のない要求

 

/var/log/nginx/gunicorn-content_manager.log

CDS コンテンツマネージャープラグインのログ (オンデマンドパッケージのダウンロードなど)

 

/var/log/nginx/gunicorn-mirror.log

CDS ミラープラグインのログ。デフォルトでは、プラグインの起動から停止までのログのみ記録

クライアント

RHEL7 以前のバージョンでは、/var/log/yum.log

yum コマンドログ

クライアント

RHEL 8 以降のバージョンの /var/log/dnf.log

dnf コマンドログ

 

/var/log/messages

クライアント 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) にのみ接続されているため、サービスを停止しても、クライアントインスタンスがパッケージの更新またはインストールを無効にすることはありません。したがって、自動モニタリングソリューションを導入している場合、バックアッププロセス中にモニタリングが失敗する可能性があります。

手順

  1. pulp-server サービスを停止します。

    # systemctl stop pulpcore-api pulpcore-content pulpcore-worker\*
  2. サービスが停止したかどうかを確認します。

    # systemctl status pulpcore-api pulpcore-content pulpcore-worker\*
  3. 以下のファイルをバックアップします。

    # 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/*

      注記

      このディレクトリーをバックアップすると、ダウンロードされたすべてのコンテンツがバックアップされるため、データ量が多くなる可能性があります。

  4. 生成されたクライアントエンタイトルメント証明書とクライアント設定 RPM をバックアップします。
  5. RHUI サービスを再起動します。

    # rhui-services-restart

12.2. Red Hat Update Appliance データベースのバックアップ

手順

  1. postgres ユーザーに変更します。

    # su - postgres
  2. PostgreSQL データベースをダンプします。

    # 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 ノードを作成し、関連するファイルをバックアップしたバージョンに置き換える必要があります。

手順

  1. 新しい RHUA ノードを作成します。詳細は、RHUA ノードの設定 を参照してください。
  2. pulp-server サービスを停止します。

    # systemctl stop pulpcore-api pulpcore-content pulpcore-worker\*
  3. サービスが停止したかどうかを確認します。

    # systemctl status pulpcore-api pulpcore-content pulpcore-worker\*
  4. 以下のファイルを復元します。

    # 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/*

      注記

      このディレクトリーを復元すると、ダウンロードされたすべてのコンテンツが復元されるため、データ量が多くなる可能性があります。

  5. 生成されたクライアントエンタイトルメント証明書とクライアント設定 RPM を復元します。
  6. RHUI サービスを再起動します。

    # rhui-services-restart

12.4. Red Hat Update Appliance データベースの復元

手順

  1. postgres ユーザーに変更します。

    # su - postgres
  2. PostgreSQL データベースを復元します。

    # 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 ノードに自動的に切り替わります。

手順

  1. nginx サービスを停止します。

    # systemctl stop nginx
  2. nginx サービスが停止していることを確認します。

    # systemctl status nginx
  3. 以下のファイルをバックアップします。

    # cp -a <source_files_path> <destination_files_path>
    重要

    ファイルをバックアップするときに、ファイルが現在の属性を保持していることを確認してください。

    ファイルのリスト:

    • /etc/nginx/*
    • /var/log/nginx/*
    • /etc/pki/rhui/*
  4. RHUI サービスを再起動します。

    # rhui-services-restart

12.6. コンテンツ配信サーバーの復元

コンテンツ配信サーバーを復元するには、新しい CDS ノードを作成し、関連するファイルをバックアップしたバージョンに置き換える必要があります。

手順

  1. 新しい CDS ノードを作成します。詳細は、CDS ノードの設定 を参照してください。
  2. nginx サービスを停止します。

    # systemctl stop nginx
  3. nginx サービスが停止していることを確認します。

    # systemctl status nginx
  4. 以下のファイルを復元します。

    # cp -a <source_files_path> <destination_files_path>
    重要

    ファイルを復元するときに、ファイルが現在の属性を保持していることを確認してください。

    ファイルのリスト:

    • /etc/nginx/*
    • /var/log/nginx/*
    • /etc/pki/rhui/*
  5. RHUI サービスを再起動します。

    # rhui-services-restart

12.7. HAProxy サーバーのバックアップ

HAProxy サーバーをバックアップするには、関連するすべてのファイルとストレージをバックアップする必要があります。

手順

  1. /etc/haproxy/haproxy.cfg ファイルをバックアップします。

    # cp -a <source_files_path> <destination_files_path>
    重要

    ファイルをバックアップするときに、ファイルが現在の属性を保持していることを確認してください。

12.8. HAProxy サーバーの復元

HAProxy サーバーを復元するには、新しい HAProxy ノードを作成し、関連するファイルをバックアップしたバージョンに置き換える必要があります。

手順

  1. 新しい HAProxy ノードを作成します。詳細は、HAProxy ノードの設定 を参照してください。
  2. /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.yml
  • RHUI からすべての 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.confrepo_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 を通じて問題を報告してください。

Expand
表14.1 Red Hat Update Infrastructure の一般的な問題
イベント既知の問題の説明推奨事項

インストールおよび設定

RHUA と CDS の間でコミュニケーションの問題が発生しています。

RHUA および CDS に完全修飾ドメイン名 (FQDN) が設定されており、解決可能であることを確認します。

HTTP プロキシーを適切に設定します。

同期

リポジトリーを Red Hat と同期することができません。

RHUI SKU がアカウントにあることを確認します。

適切なコンテンツ証明書が RHUA に読み込まれていることを確認します。

一時的な CDN の問題がないか調べます。

環境内の HTTP プロキシーを確認します。

Red Hat Update Appliance/コンテンツ配信ネットワーク通信

Red Hat Update Appliance がコンテンツ配信ネットワークと通信していません。

/etc/pki/rhui/redhat (.pem ファイル) のコンテンツ証明書を使用して RHUA と CDN との間の接続とアクセスをテストします。

wget -O - --certificate /etc/pki/rhui/redhat/* --ca-certificate /etc/rhsm/ca/redhat-uep.pem https://cdn.redhat.com/content/dist/rhel8/8/x86_64/baseos/os/repodata/repomd.xml

第15章 Cron ジョブ

一部の反復的なタスクは、Red Hat Update Infrastructure、特に RHUA ノードで自動的にスケジュールおよび実行されます。

Expand
表15.1 Cron ジョブ
ジョブファイル目的頻度ログファイル

/etc/cron.d/rhui-export-repos

同期されたコンテンツをエクスポートする

5 分ごと

/var/log/rhui/rhui-export-repos.log

/etc/cron.d/rhui-purge-upload-dirs

カスタムリポジトリーへのアップロード内容から一時ディレクトリーをクリーンアップする

5 分ごと

/var/log/rhui/rhui-purge-upload-dirs.log.log

/etc/cron.d/rhui-repo-sync

予定時刻が来たらリポジトリーを同期する

5 分ごと

/var/log/cron (下記の注記を参照)

/etc/cron.d/rhui-update-mappings

利用可能なマイナーバージョンに関する情報を更新する

毎時、HH:34

/var/log/rhui/rhui-update-mappings.log

/etc/cron.hourly/synchronize-rhui-subscriptions

エンタイトルメント証明書の変更を確認し、必要に応じて新しい証明書をインポートする

毎時、HH:01

/var/log/rhui/rhui-subscription-sync.log

注記

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

法律上の通知

Copyright © 2025 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2026 Red Hat
トップに戻る