第8章 コンテンツビューの管理
本章では、さまざまなコンテンツビューを作成し、各種フィルターを適用する方法を説明します。
8.1. コンテンツビューの理解
Red Hat Satellite 6 では、コンテンツビューを使用して Definitive Media Library (DML) のコアリポジトリーからカスタマイズリポジトリーを作成します。使用するリポジトリーを定義し、特定のフィルターをコンテンツに適用することで、これが作成されます。このフィルターにはパッケージフィルター、パッケージグループフィルター、およびエラータフィルターが含まれます。コンテンツビューは、特定の環境が使用するソフトウェアのバージョンを定義する方法として使用されます。前章でも説明したように、実稼働環境で古いバージョンのパッケージを含むコンテンツビューが使用され、開発環境で新しいバージョンのパッケージを含むコンテンツビューが使用されることがあります。
コンテンツビューは各環境でリポジトリーセットを作成し、Satellite Server がこれを保存、管理します。アプリケーションライフサイクルの次の環境にコンテンツビューをプロモートすると、それに対応する Satellite Server のリポジトリーがパッケージを更新して公開します。たとえば、Exampleware パッケージが含まれているコンテンツビューを使用するとします。
開発 | テスト | 実稼働 | |
---|---|---|---|
コンテンツビューのバージョンとコンテンツ |
バージョン 2 - exampleware-1.1-0.noarch.rpm |
バージョン 1 - exampleware-1.0-0.noarch.rpm |
バージョン 1 - exampleware-1.0-0.noarch.rpm |
テストと実稼働のリポジトリーには exampleware-1.0-0.noarch.rpm
パッケージが含まれています。コンテンツビューのバージョン 2 を開発環境からテスト環境にプロモートすると、テスト環境のリポジトリーが再作成され、exampleware-1.1-0.noarch.rpm
パッケージが含まれるようになります。
開発 | テスト | 実稼働 | |
---|---|---|---|
コンテンツビューのバージョンとコンテンツ |
バージョン 2 - exampleware-1.1-0.noarch.rpm |
バージョン 2 - exampleware-1.1-0.noarch.rpm |
バージョン 1 - exampleware-1.0-0.noarch.rpm |
こうすることで、システムは特定の環境専用となり、その環境が新しいコンテンツビューを使用する際には更新を受け取ることができます。
フィルタリングとスナップショットを行うコンテンツビューを作成する一般的なフローは次のようになります。
- コンテンツビューを作成します。
- コンテンツビューに使用するリポジトリーと Puppet モジュールを追加します。
- 任意で、コンテンツビューのコンテンツを調整するフィルターを 1 つまたは複数作成します。
- コンテンツビューを公開します。
- コンテンツホストをコンテンツビューにアタッチします。
- 任意で、コンテンツビューを別の環境にプロモートします。
コンテンツビューでリポジトリーを割り当てないと、/etc/yum.repos.d/redhat.repo
ファイルは空になり、登録済みのシステムで更新を受け取ることができません。
システムを関連付けるコンテンツビューは 1 つだけにすることができます。複数のコンテンツビューにシステムを関連付けるには、複合コンテンツビューを作成します。詳細は 「複合コンテンツビューの作成」 を参照してください。
8.2. 標準コンテンツビュー
標準コンテンツビューは、1 台のホストに関連付けることができる 1 つのコンテンツビューです。
8.2.1. シンプルなコンテンツビューの作成
この例では、2 つのリポジトリーが含まれ、フィルターは設定されていないシンプルなコンテンツビューを作成します。Red Hat Enterprise Linux リポジトリーと Satellite Tools リポジトリーを使用します。このコンテンツビューには Red Hat Enterprise Linux の全 RPM が含まれるので、公開には数分かかる場合があります。
Web UI をご利用の場合
コンテンツ > コンテンツビュー に移動し、新規ビューの作成 をクリックします。ビューの詳細 フォームが表示されるので、以下の情報を入力します。
-
名前: ビューの簡単な名前。
Base
と入力します。 - ラベル: ビューの内部 ID。Red Hat Satellite 6 では、名前 に入力した内容に基づいてこのフィールドに値が自動的に入力されます。
-
説明: ビューの簡単な説明。
Base operating system
と入力します。 - 複合ビュー?: 複合コンテンツビューを使用するかどうかを定義します。チェックを外しておきます。
保存 をクリックします。
これでコンテンツビューの新規エントリーが作成され、リポジトリーを追加することができるようになりました。Red Hat Enterprise Linux 7 Server RPMs (Kickstart RPMs ではありません) と Red Hat Satellite Tools のリポジトリーを選択し、リポジトリーの追加 をクリックします。これらのリポジトリーの全パッケージがコンテンツビューに追加されます。
これでコンテンツビューを公開する準備ができました。バージョン に移動し、新規バージョンの公開 をクリックします。Satellite Server によって新規バージョン (バージョン 1) の詳細が提供されます。説明 に、このバージョンの説明を入力できるので、新規コンテンツビューの変更点を記録しておくと便利です。Initial content view for our operating system
と入力し、保存 をクリックします。
Satellite Server がビューの新バージョンを作成し、ライブラリー環境に公開します。
CLI をご利用の場合
リポジトリー ID の一覧を取得します。
# hammer repository list --organization "ACME"
この例では、2 つのリポジトリーはそれぞれ ID に 1 と 2 を使用しています。
ID | 名前 |
---|---|
1 |
Red Hat Enterprise Linux 7 Server RPMs x86_64 7Server |
2 |
Red Hat Satellite Tools 6.4 for RHEL 7 Server RPMs x86_64 |
コンテンツビューを作成し、リポジトリーに追加します。
# hammer content-view create \ --name "Base" \ --description "Base operating system" \ --repository-ids 1,2 \ --organization "ACME"
ビューを公開します。
# hammer content-view publish \ --name "Base" \ --description "Initial Content View for our operating system" \ --organization "ACME"
Satellite Server がビューの新バージョンを作成し、ライブラリー環境に公開します。
8.2.2. Puppet モジュールを含むコンテンツビューの作成
この例では、 1 つのリポジトリーが含まれ、フィルターは設定されていないコンテンツビューを作成します。PostgreSQL リポジトリーを使用します。
Web UI をご利用の場合
コンテンツ > コンテンツビュー に移動し、新規ビューの作成 をクリックします。ビューの詳細 フォームが表示されるので、以下の情報を入力します。
-
名前: ビューの簡単な名前。
Database
と入力します。 - ラベル: ビューの内部 ID。Red Hat Satellite 6 では、名前 に入力した内容に基づいてこのフィールドに値が自動的に入力されます。
-
説明: ビューの簡単な説明。
PostgreSQL Database
と入力します。 - 複合ビュー?: 複合コンテンツビューを使用するかどうかを定義します。チェックを外しておきます。
保存 をクリックします。
これでコンテンツビューの新規エントリーが作成されます。PostgreSQL のリポジトリーを選択し、リポジトリーの追加 をクリックします。PostgreSQL リポジトリーの全パッケージがコンテンツビューに追加されます。
Puppet モジュール に移動し、新規モジュールの追加 をクリックします。インポート済みの Puppet モジュールが表示されます。postgresql
モジュールに移動し、バージョンの選択 をクリックします。
最新を使用 のエントリーに移動し、アクション コラムの バージョンの選択 をクリックします。
Puppet モジュールがコンテンツビューに追加されました。新しいバージョンを公開します。
バージョン に移動し、新規バージョンの公開 をクリックします。説明 に Initial RPMs and Puppet module for database
と入力し、保存 をクリックします。
Satellite Server がビューの新バージョンを作成し、ライブラリー環境に公開します。
CLI をご利用の場合
リポジトリー ID の一覧を取得します。
# hammer repository list --organization "ACME"
必要になるのは PostgreSQL RPM リポジトリーのみで、Puppet モジュールリポジトリーは必要ありません。この例では、PostgreSQL RPMs の ID に 4 を使用します。
ID | 名前 |
---|---|
4 |
PostgreSQL 9.5 |
コンテンツビューを作成し、リポジトリーに追加します。
# hammer content-view create \ --name "Database" --description "PostgreSQL Database" \ --repository-ids 4 \ --organization "ACME"
ビューを公開します。
# hammer content-view publish \ --name "Database" \ --description "Initial RPMs and Puppet module for database" \ --organization "ACME"
Satellite Server がビューの新バージョンを作成し、ライブラリー環境に公開します。
8.3. 複合コンテンツビュー
複合コンテンツビューは、複数のコンテンツビューのコンテンツを組み合わせます。たとえば、ベース OS とアプリケーションの管理に別々のコンテンツビューを使用していたとします。複合コンテンツビューを使用すると、この 2 つのコンテンツビューのコンテンツを新たなリポジトリーに統合できます。元のコンテンツビューのリポジトリーはそのまま存在しますが、組み合わされたコンテンツには新規リポジトリーが使用されます。
本ガイドのシナリオでは、企業が異なるデータベースサーバーをサポートするアプリケーションを開発しているとします。一般的なアプリケーションスタックは以下のようになります。
Exampleware スタック |
---|
アプリケーション |
データベース |
オペレーティングシステム |
この企業が以下の 4 つのコンテンツビューを作成するとします。
- Red Hat Enterprise Linux (オペレーティングシステム)
- PostgreSQL (データベース)
- MariaDB (データベース)
- Exampleware (アプリケーション)
すると、次に 2 つの複合コンテンツビューを作成できます。1 つ目には PostgreSQL データベースを使います。
複合コンテンツビュー 1: PostgreSQL 上の Exampleware |
---|
Exampleware (アプリケーション) |
PostgreSQL (データベース) |
Red Hat Enterprise Linux (オペレーティングシステム) |
もう 1 つには MariaDB を使います。
複合コンテンツビュー 2: MariaDB 上の Exampleware |
---|
Exampleware (アプリケーション) |
MariaDB (データベース) |
Red Hat Enterprise Linux (オペレーティングシステム) |
これで各コンテンツビューは別個に管理、公開されます。アプリケーションスタックの新バージョンを作成すると、複合コンテンツビューの新バージョンを公開することになります。複合コンテンツビューの作成時に、自動公開 オプションを選択することも可能です。そうすると、複合コンテンツビューに含まれるコンテンツビューが再公開されると、自動的に複合コンテンツビューが再公開されます。
複合コンテンツビューは、各リポジトリーで 1 つしか許可されません。たとえば、同じリポジトリーを使用した 2 つのコンテンツビューを 2 つを追加しようとすると、Satellite Server はエラーをレポートします。
8.3.1. 複合コンテンツビューの作成
既存のコンテンツビューを 2 つ組み合わせたコンテンツビューを ACME 用に作成します。
Web UI をご利用の場合
コンテンツ > コンテンツビュー に移動して 新規ビューの作成 をクリックします。以下の詳細を入力します。
-
名前:
Stack
-
説明:
A stack that includes a base operating system and a database
- 複合ビュー?: これを選択して、複合コンテンツビューを作成します。
- 自動公開: 複合コンテンツビューに含まれるコンテンツビューが再公開されると、自動的に複合コンテンツビューを再公開する場合は、これを選択します。
複合コンテンツビュー用のコンテンツビュー一覧が表示されます。Base と Database の両方のコンテンツビューを選択します。Base コンテンツビューには 2 つのバージョンが含まれているため、そのいずれかを選択します。ここでは、エラータフィルターが含まれているバージョン 2 を選択します。コンテンツビューとバージョンを選択したら、コンテンツビューの追加 をクリックします。
新バージョンの公開 をクリックして、複合コンテンツビューを公開します。説明 に Initial version of Stack
と入力して 保存 をクリックします。
公開が完了すると、コンテンツ コラムに、追加した全コンテンツビューのパッケージ、エラータ、Puppet モジュールの数がレポートされます。
この複合コンテンツビューを 開発、テスト、実稼働 の各環境に プロモート します。
通常のコンテンツビューと同じように、複合コンテンツビューもアプリケーションライフサイクルの各環境で公開、プロモートされていることが確認できます。
CLI をご利用の場合
複合コンテンツビューを作成する前に、既存のコンテンツビューのバージョン ID が必要になります。
# hammer content-view version list \ --full-results true \ --organization "ACME"
本シナリオでは、Database v1.0 のバージョン ID は 5 で、Base v2.0 のバージョン ID は 6 になります。Stack
という名前の新規の複合コンテンツビューを作成し、--component-ids
オプションでバージョン ID を渡します。--auto-publish
オプションが yes
に設定されている場合には、複合コンテンツビューに含まれるコンテンツビューが再公開されると、複合コンテンツビューが自動的に再公開されます。
# hammer content-view create \ --composite \ --auto-publish yes \ --name "Stack" \ --description "A stack that includes a base operating system and a database" \ --component-ids 5,6 \ --organization "ACME"
複合コンテンツビューを公開します。
# hammer content-view publish \ --name "Stack" \ --description "Initial version of Stack" \ --organization "ACME"
複合コンテンツビューを全環境にプロモートします。
# hammer content-view version promote \ --content-view "Stack" \ --version 1 \ --to-lifecycle-environment "Development" \ --organization "ACME" # hammer content-view version promote \ --content-view "Stack" \ --version 1 \ --to-lifecycle-environment "Testing" \ --organization "ACME" # hammer content-view version promote \ --content-view "Stack" \ --version 1 \ --to-lifecycle-environment "Production" \ --organization "ACME"
8.4. コンテンツフィルター
コンテンツビューでは、フィルターを使用して特定の RPM コンテンツを含めたり制限したりします。フィルターを使用しないと、選択したリポジトリーのものがすべて含まれてしまいます。
コンテンツフィルターは以下のいずれかのタイプになります。
- 組み込み: ビューに組み込むコンテンツを定義します。このフィルターにはコンテンツが含まれていないので、選択したリポジトリーから追加するコンテンツを選択します。複数のコンテンツアイテムを組み合わせる場合には、このフィルターを使用します。
- 除外: ビューから除外するコンテンツを定義します。このフィルターには、選択したリポジトリーのコンテンツがすべて含まれているため、除外するコンテンツを選択します。リポジトリーのほとんどのコンテンツを使用するものの、ブラックリスト化されたパッケージなど、特定のパッケージは除外する場合にこのフィルターを使用します。このフィルターでは、リポジトリーにある、選択したコンテンツ以外のすべてのコンテンツを使用します。
組み込みと除外のフィルターを組み合わせたコンテンツビューを公開すると、最初に組み込みフィルターが適用され、次に除外フィルターが適用されます。この場合、組み込むコンテンツを選択し、このサブセットから除外するコンテンツを選択することになります。
また、フィルターの対象となるコンテンツには以下の 4 つのタイプがあります。
- パッケージ: 名前とバージョンに基づいてパッケージにフィルターを適用します。
- パッケージグループ: フィルターに追加するパッケージグループを選択します。パッケージグループ一覧は、コンテンツビューに追加されたリポジトリーに基づきます。
- エラータ - ID 別: フィルターに追加する特定のエラータを選択します。エラータ一覧は、コンテンツビューに追加されたリポジトリーに基づきます。
- エラータ - 日付およびタイプ別: フィルターに追加する発行済みまたは更新済みのエラータの日付範囲およびタイプ (バグ修正、機能強化、またはセキュリティー)を選択します。
フィルターは、フィルター内に記載されているパッケージの依存関係を解決するものではありません。フィルターにパッケージの依存関係を追加してください。必要な依存関係の判定には、テストが必要になる場合があります。
コンテンツフィルターの使用例を見ていきましょう。
例 1
ベースの Red Hat Enterprise Linux パッケージでリポジトリーを作成します。このフィルターでは、Red Hat Enterprise Linux リポジトリーがコンテンツビューに追加されている必要があります。
フィルター:
- 包含タイプ: 組み込み
- コンテンツタイプ: パッケージグループ
- フィルター: Base パッケージグループのみを選択します。
例 2
セキュリティーアップデートを除く、特定日以降の全エラータを除外するリポジトリーを作成します。重要なセキュリティーアップデートは即座に適用すべきですが、その他のシステムアップデートを定期的に実行する場合などにこれは便利です。このフィルターでは、Red Hat Enterprise Linux リポジトリーがコンテンツビューに追加されている必要があります。
フィルター:
- 包含タイプ: 除外
- コンテンツタイプ: エラータ - 日付およびタイプ別
- フィルター: バグ修正 と 機能強化 のエラータタイプのみを選択し、セキュリティー の選択は解除します。日付タイプ を 更新日 に設定します。エラータを制限する日付を 開始日 に設定します。終了日 は空白にして、セキュリティー以外の新たなエラータにフィルターが適用されないようにします。
例 3
例 1 と例 2 の組み合わせで、ベース OS パッケージのみが必要ですが、最近のバグ修正と機能強化エラータを除外します。この場合、同一のコンテンツビューに 2 つのフィルターが適用されている必要があります。コンテンツビューは組み込みフィルターを最初に適用してから、除外フィルターを適用します。
フィルター 1:
- 包含タイプ: 組み込み
- コンテンツタイプ: パッケージグループ
- フィルター: Base パッケージグループのみを選択します。
フィルター 2:
- 包含タイプ: 除外
- コンテンツタイプ: エラータ - 日付およびタイプ別
- フィルター: バグ修正 と 機能強化 のエラータタイプのみを選択し、セキュリティー の選択は解除します。日付タイプ を 更新日 に設定します。エラータを制限する日付を 開始日 に設定します。終了日 は空白にして、セキュリティー以外の新たなエラータにフィルターが適用されないようにします。
コンテンツフィルターの機能例については「How do content filters work in Satellite 6」を参照してください。
8.4.1. コンテンツフィルターの作成
本ガイドのシナリオでは、ACME のベースオペレーティングシステムで特定日以降のエラータアイテムを制限するコンテンツフィルターを作成します。
Web UI をご利用の場合
コンテンツ > コンテンツビュー に移動し、ベース
コンテンツビューを選択します。Yum コンテンツ > フィルター に移動し、新規フィルター をクリックします。以下の詳細を入力します。
-
名前:
Errata Filter
- コンテンツタイプ: エラータ - 日付およびタイプ別
- 包含タイプ: 除外
-
説明:
Exclude errata items from the last year, with the exception of security updates
(セキュリティー更新以外で、昨年からのエラータアイテムを除外)
保存 をクリックします。
エラータの日付範囲 画面が表示されます。ここでは、エラータのタイプと日付の範囲が選択できます。機能強化 と バグ修正 のみを選択します。
[ ] セキュリティー [X] 機能強化 [X] バグ修正
日付タイプ では 発行日 (エラータの発行日) または 更新日 (エラータの最終更新日) を選択します。エラータが作成後に更新されていない場合は、発行日 と 更新日 は同じになります。発行日 を選択すると、エラータアイテムには発行日でのフィルタリングだけが行われるため、そのエラータになされた更新は除外されないことに注意してください。
開始日 で、1 年前の今日の日付を選択します。
終了日 は空白にしておきます。
保存 をクリックします。
このフィルターを使用するリポジトリーを指定することもできます。影響するリポジトリー タブを選択してリポジトリーを指定します。この例では、フィルターで使用するリポジトリーは 1 つのみです。
これでフィルターが完成しました。新規バージョンの公開 をクリックして、完成したリポジトリーを公開します。バージョンの詳細 では 説明 に Adding errata filter
と入力します。保存 をクリックします。
コンテンツビューが公開されると、コンテンツ コラムのパッケージとエラータ (セキュリティーエラータを除く) の数が公開前のリポジトリーと比べて少なくなります。これは、フィルターが前の年の、セキュリティー以外のエラータを正常に除外したことを意味します。
このコンテンツビューを 開発、テスト、実稼働 の各環境に プロモート します。
CLI をご利用の場合
フィルターをコンテンツビューに追加します。--inclusion false
オプションを使用して、フィルターを除外フィルターに設定します。
# hammer content-view filter create \ --name "Errata Filter" \ --type erratum --content-view "Base" \ --description "Exclude errata items from the last year, with the exception of security updates" \ --inclusion false \ --organization "ACME"
フィルターにルールを追加します。
# hammer content-view filter rule create \ --content-view "Base" \ --content-view-filter "Errata Filter" \ --start-date "2015-01-01" \ --types enhancement,bugfix \ --date-type updated \ --organization "ACME"
コンテンツビューを公開します。
# hammer content-view publish \ --name "Base" \ --description "Adding errata filter" \ --organization "ACME"
ビューを各環境にプロモートします。
# hammer content-view version promote \ --content-view "Base" \ --version 1 \ --to-lifecycle-environment "Development" \ --organization "ACME" # hammer content-view version promote \ --content-view "Base" \ --version 1 \ --to-lifecycle-environment "Testing" \ --organization "ACME" # hammer content-view version promote \ --content-view "Base" \ --version 1 \ --to-lifecycle-environment "Production" \ --organization "ACME"
8.5. コンテンツビューのプロモート
Satellite Server はここまでに 2 つのコンテンツビューを公開し、ライブラリー環境でリポジトリーが利用可能になっています。この内の 1 つのコンテンツビューをプロモートして、リポジトリーが他の環境で利用可能になるようにしましょう。
環境にコンテンツビューをプロモートするために、管理者以外のユーザーには以下の 2 つのパーミッションが必要になります。
-
promote_or_remove_content_views
-
promote_or_remove_content_views_to_environment
.
promote_or_remove_content_views
パーミッションは、ユーザーがプロモートできるコンテンツビューを制限します。
promote_or_remove_content_views_to_environment
パーミッションは、コンテンツビューのプロモート先となる環境を制限します。
これらのパーミッションを使用すると、どのユーザーがどのコンテンツビューをどの環境にプロモートできるか、またはできないかということを指定できます。たとえば、テスト環境へのプロモーションはできるが、実稼働環境にはできない、という制限を設定できます。こうすることで、複数レベルの認証が提供されます。
あるユーザーがコンテンツビューをプロモートできるようになるには、この両方のパーミッションを割り当てる必要があります。
Web UI をご利用の場合
Database コンテンツビューの バージョン 画面を開いていることを確認します。バージョンテーブルの バージョン 1.0 で、アクションコラムにある プロモート をクリックします。プロモーション対象を選択することができる画面が開きます。Development 環境を選択し、バージョンのプロモート をクリックします。数分でプロモーションが完了します。
プロモート ボタンを再度クリックします。今度は Testing 環境を選択して バージョンのプロモート をクリックします。
最後に プロモート ボタンを再度押します。Production 環境を選択し、バージョンのプロモート をクリックします。
これでこのコンテンツビューのリポジトリーが全環境に表示されます。
CLI をご利用の場合
コンテンツビューのプロモートには、毎回 hammer content-view version promote
を使用します。
# hammer content-view version promote \ --content-view "Database" \ --version 1 \ --to-lifecycle-environment "Development" \ --organization "ACME" # hammer content-view version promote \ --content-view "Database" \ --version 1 \ --to-lifecycle-environment "Testing" \ --organization "ACME" # hammer content-view version promote \ --content-view "Database" \ --version 1 \ --to-lifecycle-environment "Production" \ --organization "ACME"
これで Database のコンテンツが全環境で利用可能になります。
8.6. 環境とコンテンツビューへのシステム登録
コンテンツビューが利用可能になったので、システムを環境とビューに登録することができます。
8.6.1. サブスクリプションマネージャーへの RHEL システムの登録
まず、テスト用の Red Hat Enterprise Linux 7 クライアントシステムに root
ユーザーとしてログインし、Satellite Server 用のコンシューマー RPM をダウンロードします。これはホストの pub
ディレクトリーに配置されています。たとえば、ホスト名が satellite6.example.com
の Satellite Server の場合は、登録するクライアントで以下のコマンドを実行します。
[root@client ~]# rpm -Uvh http://satellite.example.com/pub/katello-ca-consumer-latest.noarch.rpm
以下のコマンドを実行して、Satellite Server 上の環境とコンテンツビューを一覧表示します。
[root@client ~]# subscription-manager environments --org="acme"
クライアントシステムを Satellite Server 上の環境とコンテンツビューに登録します。
[root@client ~]# subscription-manager register --org="acme" --environment="Development/Stack"
クライアントシステムでは、ACME 組織に所属する Satellite Server ユーザーのユーザー名とパスワードが求められます。別の方法では、アクティベーションキーを使用してシステムを登録することもできます。これについては「9章アクティベーションキーの管理」で説明します。
これで、クライアントシステムが、開発環境にある Stack コンテンツビューから公開されたリポジトリーを使用するようになりました。
8.6.2. サブスクリプションマネージャーへの Atomic Host の登録
以下の手順では、サブスクリプションマネージャーで Atomic Host を登録する方法を説明します。
Satellite server から katello-rhsm-consumer
を取得します。
[root@atomic_client ~]# wget http://satellite.example.com/pub/katello-rhsm-consumer
katello-rhsm-consumer
のモードを実行可能に変更します。
[root@atomic_client ~]# chmod +x katello-rhsm-consumer
katello-rhsm-consumer
を実行します。
[root@atomic_client ~]# ./katello-rhsm-consumer
Red Hat サブスクリプションマネージャー
に登録します。
[root@atomic_client ~]# subscription-manager register
Atomic はアプライアンスとして機能するため、これに katello-agent
をインストールすることは推奨されません。