ホスト設定ガイド
Red Hat Satellite 6 環境におけるホストの管理ガイド
エディッション 1.0
概要
第1章 Red Hat Satellite コンテンツダッシュボードの使用
- コンテンツホストのサブスクリプションの状態
- Satellite に登録されているホストによって現在使用されているサブスクリプションの概要です。サブスクリプションとはご購入いただいた証明書を指します。このサブスクリプションでホストのソフトウェア、アップグレード、およびセキュリティー修正などが利用できるようになります。以下の表はサブスクリプションの状態の種類を示しています。
表1.1 ホストのサブスクリプションの状態
状態説明アイコン無効 製品がインストールされていて、サブスクリプションが適切に使用されていないホストです。これらのホストには早急な対応が必要です。
部分的 サブスクリプションが使用されていて、有効なエンタイトルメントを持つホストですが、それらのエンタイトルメントは完全には使用されていません。これらのホストが予定通りに設定されていることを確認するために、これらのホストをモニターする必要があります。
有効性 (Valid) 有効なエンタイトルメントを有し、それらのエンタイトルメントを完全に使用しているホストです。
サブスクリプションタイプを選択し、選択したタイプのサブスクリプションに関連付けられたコンテンツホストを表示します。 - 最新イベント
- 管理情報、製品、サブスクリプションの変更およびエラーに関するホストが生成するメッセージの一覧です。すべてのユーザーに送信されるグローバル通知や、異常なアクティビティーまたはエラーを検出するためにこのセクションをモニターします。
- 同期の概要
- Satellite およびそれらの同期の状態で有効にされているすべての製品またはリポジトリーの概要です。同期待ちになっている製品、同期されていない製品、同期が行われた製品はすべてこのセクションに一覧表示されます。製品名をクリックすると同期の状態が表示されます。
- ホストコレクション
- Satellite 内のすべてのホストコレクションとそれらの状態の一覧で、各ホストコレクション内のコンテンツホストの数なども含まれます。ホストコレクションを表示するには、そのホストコレクションの名前をクリックします。
- 現在のサブスクリプション合計
- アクティブなサブスクリプションの数、次の 120 日で期限の切れるサブスクリプションの数、および最近期限切れになったサブスクリプションの数を表示する現在のサブスクリプション合計の概要です。数をクリックして選択したサブスクリプションを一覧表示します。
- コンテンツビューの概要
- Satellite におけるすべてのコンテンツビューおよびそれらの公開状態の一覧です。
- エラータの概要
- Satellite に登録されているホストで利用できるすべてのエラータの一覧です。
- タスクのステータス
- ステータスと結果別に分類される現在のすべてのタスクの概要です。タスク数をクリックして対応するタスクの一覧に移動します。
- 最新の警告/エラータスク
- 警告またはエラーにより停止している最新タスクの一覧です。タスクをクリックして詳細を確認してください。
注記
1.1. タスクの管理
手順1.1 タイムアウト設定を調整するには、以下を実行します。
- → に移動します。
- 検索ボックスに %_timeout を入力し、 をクリックします。検索では、説明を含む 4 つの設定が返されるはずです。
- 値 列で、数字の横にあるアイコンをクリックして編集します。
- 秒単位の必要な値を入力して をクリックします。
注記
There was an issue with the backend service candlepin: Connection refused – connect(2).バックエンドサービスのチェック機能に問題が生じている場合は、以下のように無効にすることができます。
手順1.2 サービスのチェックを無効にするには、以下を実行します。
- → に移動します。
- 検索ボックスに check_services_before_actions を入力し、 をクリックします。
- 値 列のアイコンをクリックし、値を編集します。
- ドロップダウンメニューから、false を選択します。
- をクリックします。
第2章 検索およびブックマーク機能
2.1. 検索クエリーの構築
2.1.1. クエリーの構文
parameter operator value
2.1.2. 演算子
表2.1 検索で使用できる比較演算子
| 演算子 | ショートネーム | 説明 | 例 |
|---|---|---|---|
| = | EQUALS | 数値、時間的な値 (temporal value) またはテキストの値を受け入れます。テキストの場合、大文字と小文字が区別された完全一致が返されます。 | hostgroup = RHEL7 |
| != | NOT EQUALS | ||
| ~ | LIKE | テキストまたは時間的な値 (temporal value) を受け入れます。大文字と小文字を区別しない一致を返します。1 文字の場合の _、ゼロを含む任意の数の文字の場合の % または たは * などのワイルドカードを受け入れます。ワイルドカードが指定されない場合、文字列はワイルドカードで囲まれている場合の様に処理されます (例: %rhel7%)。 | hostgroup ~ rhel% |
| !~ | NOT LIKE | ||
| > | GREATER THAN | 数値、または時間的な値 (temporal value) を受け入れます。時間的な値の場合、演算子 > is は「later than (次の日付より後)」として、< は「earlier than (次の日付より前)」として解釈されます。どちらの演算子も EQUALS: >= <= と組み合わせることができます。 | registered_at > 10-January-2017
検索は、指定された日付の後、つまり 2017 年 1 月 10 日から現在までの間に登録されたホストを返します。
registered_at <= Yesterday
検索は、昨日または昨日よりも前に登録されたホストを返します。
|
| < | LESS THAN | ||
| ^ | IN | SQL の場合と同様に、値の一覧に対して式を比較します。値が含まれる一致または値の含まれない一致をそれぞれ返します。 | release_version !^ 7 |
| !^ | NOT IN | ||
| HAS | 存在する値、または存在しない値をそれぞれ返します。 | has hostgroup
「Puppet クラス」ページでは、検索は 1 つ以上のホストグループに割り当てられるクラスを返します。
not has hostgroup
ホストの概要が示される「ダッシュボード」では、検索はホストグループが割り当てられていないすべてのホストを返します。
| |
| NOT HAS |
表2.2 検索で使用できる論理演算子
| 演算子 | 代替表記 | 例 | ||
|---|---|---|---|---|
| and | & | && | <空白文字> | class = motd AND environment ~ production |
| or | | | || | errata_status = errata_needed || errata_status = security_needed | |
| not | – | ! | hostgroup ~ rhel7 not status.failed | |
2.1.3. 値
- テキストの値
- 空白文字を含むテキストは引用符で囲む必要があります。そうでないと、空白は AND 演算子として解釈されます。例:
hostgroup = "Web servers"検索は、「Web Servers」という名前の割り当て済みのホストグループと共にホストを返します。hostgroup = Web servers検索は、 %servers% に一致するフィールドを持つホストグループ Web のホストを返します。 - 時間的な値 (temporal value)
- 以下を含め、数多くの日付/時刻形式を使用できます。
- "10 January 2017"
- "10 Jan 2017"
- 10-January-2017
- 10/January/2017
- "January 10, 2017"
- 「Today」、「Yesterday」など。
警告
02/10/2017 または 10-02-2017 などのあいまいな日付形式を使用しないようにしてください。
2.2. フリーテキスト検索の使用
注記
2.3. ブックマーク機能
第3章 コンテンツビューの使用

図3.1 上記の図は、コンテンツビューの新規バージョンの作成について詳細に説明しています。コンテンツビューのこれらのバージョンは、アプリケーションライフサイクル期間に環境パス上でプロモートされます。
3.1. コンテンツビューの作成
手順3.1 コンテンツビューを作成するには、以下を実行します。
- Satellite 管理者としてログインします。
- → をクリックします。
- をクリックします。
- コンテンツビューの 名前 を指定します。ラベル フィールドには、名前 フィールドに記入すると同時に情報が読み込まれます。オプションとして、コンテンツビューの説明を記載します。
- 複合ビュー? チェックボックスを選択すると、一連の公開されたコンテンツビューを 1 つに組み込み、コンテンツビューを選択できます。
注記
複合ビュー? を選択すると、フィルターが上書きされます。さらに、公開されたコンテンツビューのグループを選択したり、これらのビューを 1 つの複合ビューにバンドルしたりできるようになります。 - をクリックします。
3.2. リポジトリーのコンテンツビューへの追加
RHEL7_Base という名前のコンテンツビューを検索する場合、RHEL7 と入力しても結果が返されません。その代わりに RHEL7* と入力します。または、*Base* と入力してもコンテンツビュー RHEL7_Base を検索できます。
手順3.2 リポジトリーをコンテンツビューに関連付けるには、以下を実行します。
- → をクリックして、リポジトリーを追加するコンテンツビューを選択します。
- 保存する必要のあるコンテンツのタイプに応じて以下を実行します。
- Yum リポジトリーを追加するには、Yum コンテンツ をクリックし、ドロップダウンメニューから を選択します。サブメニューの をクリックします。
- Puppet リポジトリーを追加するには、Puppet モジュール をクリックしてから をクリックします。
- Docker リポジトリーを追加するには、Docker コンテンツ をクリックしてからサブメニューの をクリックします。
- 追加するリポジトリーを選択し、 をクリックします。
3.3. コンテンツのフィルタリング
3.3.1. フィルターの作成
手順3.3 フィルターを作成するには、以下を実行します。
- → に移動して、フィルターするコンテンツビューを選択します。
- → をクリックしてから をクリックします。
- 名前 フィールドに新規フィルターの名前を指定し、コンテンツタイプ ドロップダウンメニューからコンテンツタイプを選択します。包含タイプ ドロップダウンメニューを選択し、選択したコンテンツをフィルターに組み込むか、または除外するかを選択します。オプションとして 説明 フィールドに説明を入力します。
- をクリックして新規フィルターを保存します。
3.3.2. コンテンツのフィルターへの追加
手順3.4 コンテンツをフィルターに追加するには、以下を実行します。
- → に移動して、フィルターするコンテンツビューを選択します。
- → をクリックし、編集するフィルターの名前をクリックします。選択したフィルターのタイプに応じて以下のアクションを実行します。
- フィルターが複数のパッケージ用に作成されている場合、パッケージ サブタブでパッケージ名を指定し、ドロップダウンメニューから の値を選択します。 をクリックしてパッケージをフィルターに追加します。
- フィルターが複数のパッケージグループ用に作成されている場合、追加 サブタブをクリックし、必要なパッケージグループを選択します。 をクリックします。
- フィルターがエラータ用に作成されている場合、追加 サブタブをクリックします。エラータタイプ (セキュリティー、機能強化、または バグ修正) を選択し、開始日と終了日を指定します。 をクリックします。
- フィルターが「エラータ - 日付およびタイプ」用に エラータの日付範囲 サブタブで作成されている場合、エラータタイプ (セキュリティー、機能強化、または バグ修正) を選択し、開始日および終了日を指定します。 をクリックします。
- 影響するリポジトリー サブタブで、フィルターがリポジトリーのすべてまたはサブセットに影響を与えるようにするかどうかを選択します。リポジトリーのサブセットを選択する場合、必要なリポジトリーを選択してから をクリックします。
- をクリックします。必要な場合はコマンドを入力し、 をクリックします。
3.3.3. フィルターからのコンテンツの削除
手順3.5 コンテンツをフィルターから削除するには、以下を実行します。
- → に移動して、フィルターするコンテンツビューを選択します。
- → をクリックし、編集するフィルターの名前をクリックします。選択したフィルターのタイプに応じて以下のアクションを実行します。
- フィルターがパッケージ用に作成されている場合、パッケージ サブタブをクリックし、削除するパッケージの横にある パッケージ名 (Package Name) チェックボックスを選択します。 をクリックして、パッケージをフィルターから削除します。
- フィルターが複数のパッケージグループ用に作成されている場合、一覧/削除 サブタブをクリックしてから削除するパッケージグループの横にある 名前 チェックボックスを選択します。 をクリックして、パッケージグループをフィルターから削除します。
- フィルターがエラータ用に作成されている場合、一覧/削除 サブタブをクリックし、削除するエラータの横にある エラータ ID チェックボックスを選択します。 をクリックし、エラータをフィルターから削除します。
- フィルターが「エラータ - 日付およびタイプ」用に エラータの日付範囲 サブタブで作成されている場合、エラータタイプ (セキュリティー、機能強化、または バグ修正) にチェックを付け、開始日および終了日を指定します。 をクリックします。
- 影響するリポジトリー サブタブで、フィルターがリポジトリーのすべてまたはサブセットに影響を与えるようにするかどうかを選択します。リポジトリーのサブセットを選択する場合、必要なリポジトリーを選択してから をクリックします。
- をクリックします。必要な場合はコマンドを入力し、 をクリックします。
3.3.4. フィルターの削除
手順3.6 フィルターを削除するには、以下を実行します。
- → に移動して、フィルターするコンテンツビューを選択します。
- → をクリックしてから、削除するパッケージフィルターの名前の横にあるチェックボックスを選択します。
- をクリックします。
3.4. コンテンツビューの公開
手順3.7 コンテンツビュー定義を公開するには、以下を実行します。
- → をクリックします。
- 公開するコンテンツビューをクリックします。
- をクリックします。
- コメントを入力します。
- をクリックします。
第4章 エラータの表示および適用
重要
- セキュリティーアドバイザリー: パッケージに見つかったセキュリティー上の問題について説明します。問題のセキュリティー上の影響度については、低度の影響、中程度の影響、重要な影響、または 重大な影響 に分けられます。
- バグ修正アドバイザリー: パッケージのバグ修正について説明します。
- 製品の機能強化アドバイザリー: パッケージに追加された機能強化および新機能について説明します。
注記
- 適用可能: エラータは 1 つ以上のコンテンツホストに適用されます。つまり、コンテンツホストにあるパッケージが更新されることを意味します。「適用可能」エラータはコンテンツホストがアクセスできる段階にはありません。
- インストール可能: エラータは 1 つ以上のコンテンツホストに適用され、コンテンツホストで利用できる状態です。インストール可能なエラータはコンテンツホストのライフサイクル管理とコンテンツビューにありますが、まだインストールされていません。エラータは、コンテンツホストを管理するためのパーミッションがあるものの、より高いレベルでエラータ管理を行う権利を与えられていないユーザーがインストールできます。
4.1. 利用可能なエラータの検査
手順4.1 利用可能なエラータを検査するには、以下を実行します。
- → に移動して、利用可能なエラータの一覧を表示します。
- ページ上部のフィルターツールを使用して、表示されるエラータの数を制限します。
- ドロップダウンリストから検査するリポジトリーを選択します。デフォルトでは すべてのリポジトリー が選択されます。
- 適用可能 チェックボックスがデフォルトで選択され、選択したリポジトリーに適用されるエラータのみが表示されます。インストール可能 チェックボックスを選択すると、インストール可能のマークが付けられたエラータのみが表示されます。
- エラータの表を検索するには、以下の形式で 検索 フィールドにクエリーを入力します。
parameter operator value
検索に使用できるパラメーターの一覧については、表4.1「エラータ検索で利用できるパラメーター」 を参照してください。適用できる演算子の一覧については、『Server Administration Guide』 の Supported Operators for Granular Search を参照してください。また、and および or 演算子を使用してクエリーを組み合わせることもできます。たとえば、kernel パッケージに関連するセキュリティーアドバイザリーのみを表示するには、以下を入力します。type = security and package_name = kernel
Enter を押して検索を開始します。
- 検査する必要のあるエラータの エラータ ID をクリックします。
- 詳細 タブには、更新されたパッケージの説明や、更新によって提供される重要な修正および機能強化についての記載が含まれています。
- コンテンツホスト タブでは、「エラータのコンテンツホストへの適用」 に説明されているように、エラータを選択したコンテンツホストに適用できます。
- リポジトリー タブには、エラータがすでに含まれているリポジトリーが一覧表示されます。リポジトリーは環境およびコンテンツビューでフィルターでき、リポジトリー名でそれらをフィルターできます。
表4.1 エラータ検索で利用できるパラメーター
| パラメーター | 説明 | 例 |
|---|---|---|
| bug | Bugzilla 番号での検索。 | bug = 1172165 |
| cve | CVE 番号での検索。 | cve = CVE-2015-0235 |
| id | エラータ ID での検索。自動提案システムにより、入力時に利用可能な ID の一覧が表示されます。 | id = RHBA-2014:2004 |
| issued | 発行日による検索。"Feb16,2015" などの正確な日付を指定したり、"Yesterday"、または "1 hour ago" などのキーワードを使用したりできます。時間の範囲は "<" および ">" 演算子を使用して指定できます。 | issued < "Jan 12,2015" |
| package | 完全なパッケージビルド名による検索。自動提案システムにより、入力時に利用可能なパッケージの一覧が表示されます。 | package = glib2-2.22.5-6.el6.i686 |
| package_name | パッケージ名による検索。自動提案システムにより、入力時に利用可能なパッケージの一覧が表示されます。 | package_name = glib2 |
| severity | セキュリティー更新によって修正された問題の重大度による検索。Critical、Important、または Moderate. を指定します。 | severity = Critical |
| title | アドバイザリーのタイトルによる検索。 | title ~ openssl |
| type | アドバイザリーのタイプによる検索。security、bugfix、または enhancement を指定します。 | type = bugfix |
| updated | 最終更新日付による検索。issued パラメーターと同じ形式を使用できます。 | updated = "6 days ago" |
4.2. エラータのコンテンツホストへの適用
手順4.2 単一エラータをコンテンツホストに適用するには、以下を実行します。
- → に移動して、利用可能なエラータの一覧を表示します。
- 適用する必要のある エラータ ID をクリックします。
- コンテンツホスト タブで、更新する 1 つ以上のコンテンツホストを選択します。環境別に利用可能なコンテンツホストをフィルターし、名前でそれらを検索できます。ページの上部にあるチェックボックスを選択すると、ライフサイクル環境にインストール可能なエラータをすでに含んでいるコンテンツホストのみが表示されます。
- をクリックします。
- エラータが 適用可能 な場合、コンテンツビューのマイナーバージョンが新たに作成されます。公開直後にエラータをコンテンツホストに適用 を選択する場合、Satellite は更新されたコンテンツビューのプロモート時に、エラータをコンテンツホストに自動的にインストールします。これを選択しない場合は、エラータがコンテンツホストにインストールできるように利用可能になります。インストール可能なエラータについては同じ手順で後で適用するか、または 手順4.4「インストール可能なエラータをコンテンツホストに適用するには、以下を実行します。」 で説明されているようにコンテンツホストごとに手動で適用できます。
- エラータが インストール可能 の場合、つまりエラータが選択されたコンテンツホストのライフサイクル環境にすでにあるものの、まだインストールされていない場合は、コンテンツビューの新規バージョンは作成されません。
- をクリックします。
手順4.3 複数のエラータをコンテンツホストに適用するには、以下を実行します。
- → に移動して、利用可能なエラータの一覧を表示します。
- エラータ ID フィールドの左側にあるチェックボックスを選択して適用するエラータを選択します。
- をクリックして、すべての選択したエラータを適用します。
- 更新する 1 つ以上のコンテンツホストを選択します。環境別に利用可能なコンテンツホストをフィルターし、名前でそれらを検索できます。ページの上部にあるチェックボックスを選択する場合、ライフサイクル環境にインストール可能なエラータをすでに含んでいるコンテンツホストのみが表示されます。
- をクリックします。選択したエラータの一部が 適用可能 である場合、コンテンツビューのマイナーバージョンが新たに作成されます。公開直後にエラータをコンテンツホストに適用 を選択する場合、Satellite は更新されたコンテンツビューのプロモート時に、エラータをコンテンツホストに自動的にインストールします。インストール可能なエラータのみが選択されている場合、それらはコンテンツビューの新規バージョンを作成せずにインストールされます。
手順4.4 インストール可能なエラータをコンテンツホストに適用するには、以下を実行します。
- → に移動します。
- 管理するコンテンツホストの名前をクリックします。
- エラータ タブで、インストールするエラータを選択します。
- をクリックして選択した更新をインストールします。
4.3. エラータ通知のサブスクライブ
第5章 セキュリティーコンプライアンス管理
root アカウントに許可しないように指定することができるかもしれません。Satellite 6 では、OpenSCAP プロジェクトで使用されるツールは、セキュリティーコンプライアンスの監査を実施するために使用されます。OpenSCAP についての詳細は、Red Hat Enterprise Linux 7 セキュリティーガイド を参照してください。Satellite Web UI を使用して、Red Hat Satellite の管理下にあるすべてのホストに対してスケジュールされるコンプライアンス監査およびレポート作成を実行できます。
- XCCDF: Extensible Configuration Checklist Description Format (バージョン 1.2)
- OVAL: Open Vulnerability and Assessment Language (バージョン 5.11)
- Asset Identification (バージョン 1.1)
- ARF: Asset Reporting Format (バージョン 1.1)
- CCE: Common Configuration Enumeration (バージョン 5.0)
- CPE: Common Platform Enumeration (バージョン 2.3)
- CVE: Common Vulnerabilities and Exposures
- CVSS: Common Vulnerability Scoring System (バージョン 2.0)
5.1. SCAP について
5.1.1. SCAP コンテンツ
root ユーザーアカウントを使用して SSH 経由でホストにログインできないように指定することができます。ルールは 1 つ以上の プロファイル に分類でき、複数のプロファイルで 1 つのルールを共有できるようにすることができます。SCAP コンテンツはルールとプロファイルの両方で構成されています。
- Red Hat Enterprise Linux 6 には、Red Hat Enterprise Linux 6 のコンテンツがインストールされています。
- Red Hat Enterprise Linux 7 には、Red Hat Enterprise Linux 6 および Red Hat Enterprise Linux 7 の両方のコンテンツがインストールされています。
5.1.2. XCCDF プロファイル
5.1.3. コンプライアンスポリシー
5.2. インストール
5.2.1. OpenSCAP パッケージのインストール
手順5.1 OpenSCAP パッケージのインストール
- Satellite Server では、OpenSCAP プラグインおよびコンテンツをインストールします。
# satellite-installer --enable-foreman-plugin-openscap
インストールが成功したかどうかは進行状況のインディケーターによって示され、Success!が表示されます。OpenSCAP プラグインは、Satellite web UI の メニューにある Compliance (コンプライアンス) セクションに追加され、以下のページが含まれます。# yum install puppet-foreman_scap_client
- すべての外部 Capsule Server で、OpenSCAP プラグインおよびコンテンツをインストールします。
注記
OpenSCAP 機能が Capsule Server で有効にされる場合、Puppet はそのサーバーですでに有効にされている必要があります。# satellite-installer --enable-foreman-proxy-plugin-openscap
インストールが成功したかどうかは進行状況のインディケーターによって示され、Success!が表示されます。これにより、OpenSCAP スキャンを実行するためのホストのセットアップに必要な Puppet クラスが提供され、自動化されたコンプライアンスのスキャン用に Cron ジョブが作成されます。 - Puppet マスターロールが設定された外部 Capsule Server では、OpenSCAP クライアントをインストールします。
# yum install puppet-foreman_scap_client
関連のある外部 Capsule Server を特定するには、Satellite web UI を開いてから、 → に移動してから 機能 列に一覧表示されている Puppet が設定された外部の Capsule Server を特定します。
5.2.2. デフォルト OpenSCAP コンテンツのロード
手順5.2 デフォルト OpenSCAP コンテンツのロード
- OpenSCAP コンテンツを Satellite Server にロードします。
# foreman-rake foreman_openscap:bulk_upload:default
5.2.3. OpenSCAP Puppet モジュールのインポート
手順5.3 OpenSCAP Puppet モジュールのインポート
- OpenSCAP には Puppet 環境が必要ですが、デフォルトではそれらは Puppet モジュールを含むコンテンツビュー用にのみ作成されます。利用可能な Puppet 環境を一覧表するには、Satellite web UI を開いた後に、 → に移動します。Puppet 環境がない場合は、Satellite Server で CLI セッションを開き、
本番用 Puppet 環境のディレクトリーを作成します。# mkdir -p /etc/puppet/environments/production/modules
- OpenSCAP コンテンツを選択した Puppet 環境にインポートします。OpenSCAP で監査されるそれぞれのホストは Puppet 環境に関連付けられる必要があります。
- Satellite web UI では、コンテキストメニューから 組織 および ロケーション を選択します。
- → に移動します。
- をクリックしてから をクリックします。
- OpenSCAP を使用して監査が実行されるホストに関連付けられたそれぞれの Puppet 環境について、チェックボックスを選択してから をクリックします。他の Puppet 環境が存在しない場合は 本番 環境を選択します。foreman_scap_client Puppet モジュールが選択した環境に追加されます。
- foreman_scap_client Puppet モジュールが追加されていることを確認します。→ に移動してから、Puppet 環境の列のある をクリックします。この手順は、foreman_scap_client Puppet クラスが一覧表示されている場合に成功します。
5.2.4. 追加の SCAP コンテンツのアップロード
手順5.4 追加の SCAP コンテンツのアップロード
- Satellite Server Web にログインします。
- → に移動して、新規 SCAP コンテンツをアップロード をクリックします。
- タイトル テキストボックスにタイトルを入力します。例:
RHEL 7.2 SCAP Content - をクリックしてから、SCAP コンテンツが含まれるロケーションに移動し、 を選択します。
- をクリックします。
Successfully created RHEL 7.2 SCAP Content (RHEL 7.2 SCAP コンテンツが正常に作成されました) と同様のメッセージが表示され、SCAP Contents (SCAP コンテンツ) の一覧に新規のタイトルが含まれます。
5.3. コンプライアンスポリシーの管理
5.3.1. ポリシーの作成
手順5.5 ポリシーを作成するには、以下を実行します。
- Satellite web UI で → に移動し、 をクリックしてウィザードの手順に従います。
- このポリシーの名前、説明 (オプション) を入力してから をクリックします。
- 適用する SCAP コンテンツおよび XCCDF プロファイルを選択してから をクリックします。
- ポリシーの適用がスケジュールされた時間を指定してから をクリックします。Period (期間) ドロップダウンリストから 、、または を選択します。
- を選択する場合、 ドロップダウンリストから必要な曜日も選択します。
- を選択する場合、Day of month (月の日付) フィールドで月の必要な日付も指定します。
- を選択する場合、Cron 行 フィールドに有効な Cron 式を入力します。
オプションでは、 または のいずれかのオプションよりもポリシーのスケジュールに柔軟性を持たせることができます。 - ポリシーが適用されるロケーションを選択してから をクリックします。
- ポリシーが適用される組織を選択してから をクリックします。
- ポリシーが適用されるホストグループを選択してから をクリックします。
- をクリックします。
SCAP Content (SCAP コンテンツ) タブでは、すべてのターゲットホストのディレクトリー /var/lib/openscap/content/ に配信される SCAP コンテンツの名前を指定します。
5.3.2. ポリシーの表示
手順5.6 ポリシーを表示するには、以下を実行します。
- Satellite web UI で、 → に移動します。
- をクリックします。
5.3.3. ポリシーの編集
手順5.7 ポリシーを編集するには、以下を実行します。
- Satellite web UI で、 → に移動します。
- ポリシーの名前の右側にあるドロップダウンリストから、 を選択します。
- 必要な属性を編集します。
- をクリックします。
5.3.4. ポリシーの定義
- Satellite web UI で、 → に移動します。
- ポリシーの名前の右側にあるドロップダウンリストから、 を選択します。
- 確認メッセージで をクリックします。
5.4. コンプライアンスのモニター
- ポリシーコンプライアンスの表示
- コンプライアンスの変更の検知
5.4.1. コンプライアンスポリシーダッシュボード
- ホストのポリシーへのコンプライアンス状況のハイレベルビューを表示するリングチャート
- ホストのポリシーコンプライアンス状況についての統計の内訳 (表形式)
- 各ホストのポリシーの最新レポートへのリンク
Failed (失敗)の統計でコンプライアンスタスクの優先付けに使用できるメトリックを提供します。未監査 として検出されたホストも、それらの状況が不明なために優先する必要があります。

図5.1 コンプライアンスポリシーダッシュボード
5.4.2. コンプライアンスレポートの概要

図5.2 コンプライアンスレポートの概要
5.4.3. コンプライアンスレポートの検索
and、not および has を使用して複雑なクエリーを作成することができます。正規表現は有効な検索条件として使用できませんが、複数のフィールドを単一の検索式で使用することができます。
論理演算子
not: 式を否定します。has: オブジェクトには指定したプロパティーがなければなりません。and: 検索条件を組み合わせます。
以下の検索条件により、ルールが 6 回以上パスしなかったコンプライアンスレポートすべてを検索します。
failed > 5
prod-. host ~ prod- AND date > "Nov 5, 2015"が含まれるホストについての、2015 年 11 月 5 日より後に作成されたすべてのコンプライアンスレポートが検索されます。
rhel7_audit を使用して生成されたすべてのレポートが検索されます。
"1 hour ago" AND compliance_policy = date = "1 hour ago" AND compliance_policy = rhel7_audit
検索をブックマークして、同じ検索条件を再び適用することができます。
手順5.8 検索をブックマークするには、以下を実行します。
- 検索条件を適用します。
- 検索 一覧から、この検索をブックマーク を選択します。
- 名前 フィールドに記入します。ブックマークをこの Satellite インスタンスの他のユーザーが利用できるようにするには、公開 チェックボックスを選択します。
- をクリックします。
5.4.4. コンプライアンスレポートの表示
- Introduction (導入)
- Evaluation Characteristics (評価特性)
- Compliance and Scoring (コンプライアンスおよびスコアリング)
- Rule Overview (ルールの概要)
5.4.4.1. Evaluation Characteristics (評価特性)
Evaluation Characteristics (評価特性)
Target machine (ターゲットマシン)- 評価されるホストの完全修飾ドメイン名 (FQDN) です。例:
test-system.example.com Benchmark URL (ベンチマーク URL)- ホストの評価に使用される SCAP コンテンツの URL です。例:
/var/lib/openscap/content/1fbdc87d24db51ca184419a2b6f Benchmark ID (ベンチマーク ID)- ホストの評価に使用されるベンチマークの ID です。ベンチマークはプロファイルのセットです。例:
xccdf_org.ssgproject.content_benchmark_RHEL_7 Profile ID (プロファイル ID)- ホストの評価に使用されるプロファイルの ID です。例:
xccdf_org.ssgproject_content_profile_rht-ccp Started at (開始時刻)- ISO 8601 形式で示される評価が開始された日時です。例:
2015-09-12T14:40:02 Finished at (終了日時)- ISO 8601 形式で示される評価の終了日時です。例:
2015-09-12T14:40:05 Performed by (実行ユーザー)- 評価をホストに実行したローカルのアカウント名です。例:
root

図5.3 Evaluation Characteristics (評価特性)
5.4.4.2. Compliance and Scoring (コンプライアンスおよびスコアリング)

図5.4 Compliance and Scoring (コンプライアンスおよびスコアリング)
5.4.4.3. Rule Overview (ルールの概要)

図5.5 Rule Overview (ルールの概要)
5.4.4.4. ルール結果の検査

図5.6 ルール評価の結果
警告
5.4.5. コンプライアンスのメール通知
- 対象とする期間の詳細。
- すべのホストの合計 (状況別): 変更済み、準拠、および非準拠。
- 各ホストの表形式の内訳と、合格、失敗、変更済み、または結果が不明な場合などのルールの合計を含む最新ポリシーの結果。

第6章 コンテナーの使用
コンテナー: アプリケーションサンドボックスです。各コンテナーは必要な設定データを保持するイメージをベースとしています。イメージからコンテナーを起動すると、書き込み可能なレイヤーがイメージの上部に追加されます。コンテナーをコミットする際はいつでも、変更を保存するために新規のイメージレイヤーが追加されます。イメージ: 決して変更されることのない、コンテナーの設定の静的なスナップショットです。コンテナーへの変更は新規イメージレイヤーを作成することによってのみ保存できます。各イメージは 1 つまたは複数の親イメージに依存します。プラットフォームイメージ: 親を持たないイメージです。プラットフォームイメージは、ランタイム環境、パッケージ、コンテナー化されたアプリケーションの実行に必要なユーティリティーなどを定義します。プラットフォームイメージは書き込みができないため、変更はすべて上に重ねられるコピーイメージに反映されます。Red Hat Satellite から Red Hat Enterprise Linux プラットフォームイメージにアクセスする方法については、例6.1「Satellite での Red Hat Enterprise Linux コンテナーの作成」 を参照してください。レジストリー: ダウンロードできるイメージが含まれる公開または非公開のアーカイブです。一部のレジストリーを使うと、イメージをアップロードして他のユーザーに利用可能にすることができます。Red Hat Satellite では、ローカルおよび外部レジストリーからイメージをインポートすることができます。Satellite 自体はホストのイメージレジストリーとして機能できますが、ホストは変更をレジストリーに戻すことはできません。詳細は、「コンテナーの作成」 を参照してください。タグ: リポジトリーにあるイメージを、通常はイメージに保存されたアプリケーションのバージョンで区別するために使用されるマークです。リポジトリーは、コンテナーレジストリーの同様のイメージを分類するために使用されます。イメージには固有の英数字の ID のみを設定できるので、repository:tag などの形式により、人間の読み取り可能な方法でイメージを識別できます。詳細は、「コンテナータグの使用」 および 「リポジトリーの管理」 を参照してください。
6.1. コンテナーの管理
前提条件
手順6.1 コンテナーホストを準備するには、以下を実行します。
- Red Hat カスタマーポータルにある Get Started with Docker Formatted Container Images on Red Hat Systems (Docker フォーマットのコンテナーイメージの使用方法) ガイドの Getting Docker in RHEL 7 (RHEL 7 の Docker の取得) セクション[2] で説明されているように、イメージをホストする Red Hat Enterprise Linux 7 サーバーを準備し、このサーバーで
dockerサービスを有効にします。コンテナーホストは、Satellite Server と同じマシンにデプロイすることも、独立してデプロイすることもできます。注記
現在、Red Hat Enterprise Linux 7 はコンテナーホスト用にサポートされる唯一のシステムです。docker パッケージは rhel-7-server-extras-rpms リポジトリーで利用できます。Red Hat Enterprise Linux 6 システムは、現在のところコンテナーをホストするシステムとしてサポートされていません。 - コンテナーホストで以下のコマンドを実行し、Satellite Server の CA 証明書をインストールします。
rpm -Uvh https://satellite.example.com/pub/katello-ca-consumer-latest.noarch.rpm
ここで、satellite.example.com は Satellite Server の完全修飾ドメイン名です。コンテナーホストが Satellite ホストとしてすでに登録されている場合にはこの手順を省略します。 - コンテナーホストのロケーションに応じて以下のタスクを実行します。
- コンテナーホストが Satellite Server と同じマシンにある場合には、以下を実行します。
- docker ユーザーグループを作成し、foreman ユーザーをそれに追加します。
# groupadd docker # usermod -aG docker foreman
- 以下のように
/etc/sysconfig/dockerファイルの OPTIONS 変数を変更します。OPTIONS='--selinux-enabled -G docker'
- 影響を受けるサービスを再起動して変更を適用します。
# systemctl restart docker.service # katello-service restart
- コンテナーホストが Satellite Server 以外のマシンにある場合は、以下を実行します。
- コンテナーホストのポートを開き、Satellite Server と通信します。これを実行するには、以下のように
/etc/sysconfig/dockerファイルの OPTIONS 変数を変更します。OPTIONS='--selinux-enabled -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock'
TLS が有効な場合はポート2376を使用できます。 - 以下のように docker サービスを再開し、設定を検証します。
# systemctl restart docker.service # systemctl status docker.service
手順6.2 Docker コンピュートリソースを作成するには、以下を実行します。
- ポート 5000 が Satellite Server で有効にされていることを確認します。コンテナーホストはこのポートを使用して Satellite Server のコンテンツビューからイメージをプルします。
- 「コンピュートリソース」 にあるようにコンピュートリソースを作成します。コンテナーホストのロケーションに応じてリソース URL を指定します。
- コンテナーホストが Satellite Server と同じマシン上にある場合、unix://var/run/docker.sock をリソース URL として設定します。
- コンテナーホストが Satellite Server 以外のマシンにある場合、以下の形式で URL を指定します。
http://container_host_fqdn:2375
ここで、container_host_fqdn はコンテナーホストの完全修飾ドメイン名を表し、Satellite との通信用にコンテナーホストで開かれるポート番号は2375か、TLS を使用している場合は2376にすることができます。
- をクリックしてコンテナーホストが利用できるかどうかをテストします。
- をクリックしてコンピュートリソースを作成します。
6.1.1. コンテナーの作成
- ローカルコンテンツ: コンテナーの作成時に
コンテンツビューオプションによって表されます。このオプションを使用すると、一部のコンテンツビューおよびライフサイクル環境で Capsule Server にすでに存在するリポジトリーからイメージをインポートすることができます。ローカルレジストリーを作成し、これにデータを設定する方法についての詳細は、「リポジトリーの管理」 を参照してください。 - Docker ハブ: Docker ハブレジストリーを検索して、そこからイメージをプルすることができます。検証済みのコンテンツを含む信頼されたイメージのみをプルするようにしてください。
- 外部レジストリー: 先に作成した外部レジストリーからイメージをインポートできます。レジストリーを Red Hat Satellite で作成する方法についての詳細は、「外部レジストリーのインポート」を参照してください。
注記
手順6.3 コンテナーを作成するには、以下を実行します。
- → に移動します。または、 → に移動して をクリックします。
- コンテナー作成の Preliminary ステージで、以下の設定を行います。
- ロケーション タブで、新規コンテナーを利用可能にするロケーションを選択します。
- 組織 タブで、新規コンテナーを利用可能にする組織を選択します。
をクリックして進みます。 - コンテナー作成の イメージ ステージでは、コンテナーのベースとして機能するイメージをインポートします。これは、プラットフォームイメージの場合も、先に作成したレイヤー化されたイメージである場合もあります。以下のいずれかのオプションから選択してください。
- コンテンツビュー タブを選択してイメージをライフサイクル環境からインポートします。ライフサイクル環境、コンテンツビュー、リポジトリー、タグおよび Capsule Server を指定します。
- Docker ハブ タブを選択し、Docker ハブレジストリーからイメージをインポートします。イメージ名を 検索 フィールドに入力すると、Satellite はコンピュートリソースを自動的に検索します。眼鏡 (Looking Glass) のアイコンをクリックして Docker ハブを検索します。検索結果の一覧からイメージを選択し、ドロップダウンリストからタグを選択します。
- 外部レジストリー タブを選択し、既存のレジストリーからイメージをインポートします。ドロップダウンメニューからレジストリーを選択し、イメージ名でこれを検索します。Satellite は タグ フィールドに、選択したイメージ名に使用できるタグを設定します。詳細は、「外部レジストリーのインポート」を参照してください。
をクリックして進みます。 - コンテナー作成の 設定 ステージでは、以下の設定を行います。
- コンテナー名を指定します。
- コンテナー内で実行するコマンドを指定します。
- コンテナーが起動するとすぐに実行されるコマンドのエントリーポイントを指定します。デフォルトのエントリーポイントは
/bin/sh -cです。 - CPU をコンテナーに割り当てます。たとえば、
0-2,16は CPU 0, 1, 2、および 16 を表します。 - コンテナーに使用できる CPU 時間の相対的配分を定義します。
- コンテナーのメモリー制限を指定します。たとえば、
512mにより、コンテナーのメモリー使用が 512 MB までに制限されます。
をクリックして進みます。 - 環境 というコンテナー作成の最終ステージでは、pseudo-tty を割り当てる必要があるかどうかを選択し、STDIN、STDOUT、および STDERR をコンテナーに割り当てます。 をクリックしてコンテナーのカスタム環境変数を作成します。Run? (実行?) チェックボックスを選択して作成後のコンテナーを自動的に開始します。
- をクリックしてコンテナーを作成します。
例6.1 Satellite での Red Hat Enterprise Linux コンテナーの作成
- 「外部レジストリーのインポート」 で説明されているようにカスタムレジストリーを作成します。registry.access.redhat.com をレジストリー URL として指定します。
- 「コンテナーの作成」 で説明されているように新規コンテナーを作成します。コンテナー作成の イメージ ステージで、外部レジストリー タブに移動し、直前の手順で作成されたレジストリーを選択します。検索フィールドを使用して Red Hat Enterprise Linux イメージの必要なバージョンを検索します。設定 および 環境 ステージに進み、コンテナーを完成します。
6.1.2. コンテナーのモニター
手順6.4 コンテナーを調査するには、以下を実行します。
- → に移動します。
- コンテナー ページでは、すべての Docker コンピュートリソースに専用タブが付けられています。これらのタブのそれぞれには、各コンテナーの選択されたパラメーターと共に利用可能なコンテナーの表が含まれています。検査するコンピュートリソースのタブを選択します。
- コンテナーのメタデータを表示するには、検査するコンテナーの名前をクリックします。Satellite ではコンテナーのプロパティーの表が表示されます。
- プロセス タブでは、コンテナー内で現在実行されているプロセスを表示できます。プロセス名をクリックしてそのプロセスのメタデータを表示します。
- コンテナーが実行されている場合、その標準出力を ログ タブで確認できます。コンテナーの作成時に pseudo-tty の割り当て チェックボックスを選択している場合、コンソールは対話的になります。そうでない場合は、コンテナーの開始時に生成される初期の標準出力が表示されます。
6.1.3. コンテナーの開始、コミットおよび削除
手順6.5 コンテナーを開始または停止するには、以下を実行します。
- → に移動し、利用可能なコンテナーの一覧を表示します。
- 開始するコンテナーの横にある をクリックします。コンテナーの開始後にボタンは に切り替わります。これにより、コンテナーを停止することができます。これらの操作は
docker startおよびdocker stopコマンドと同等です。
手順6.6 コンテナーをコミットするには、以下を実行します。
- → に移動し、利用可能なコンテナーの一覧を表示します。
- コミットするコンテナーの名前をクリックします。
- をクリックします。Satellite は以下を実行するようにプロンプトを出します。
- リポジトリー名を指定します。これには単一の名前や、または user/my-rhel-image などのようにユーザー名と組み合わせを指定できます。
- タグをイメージに割り当てます。
- 問い合わせ先情報を指定します。
- イメージ情報のコメントを入力します。
- をクリックします。
注記
手順6.7 コンテナーを削除するには、以下を実行します。
- → に移動し、利用可能なコンテナーの一覧を表示します。
- 削除するコンテナーの名前をクリックします。
- をクリックします。
- 警告ボックスで、 をクリックしてコンテナーを削除します。
6.2. リポジトリーの管理
6.2.1. リポジトリーの作成
手順6.8 Docker リポジトリーを作成するには、以下を実行します。
- → に移動します。 をクリックし、製品名を指定してから をクリックします。
- 直前の手順で作成した製品を選択し、リポジトリー タブに移動します。 をクリックします。
- リポジトリー名を指定し、タイプ ドロップダウンメニューから
dockerを選択します。これにより、追加のフィールドが表示されます。ここで、このレジストリーで同期するコンテンツソースの URL を指定します。アップストリームリポジトリー名 フィールドでコンテンツソースからプルするリポジトリーを指定します。注記
以前のバージョンの Red Hat Satellite では、ローカルに保存されたコンテナーイメージをリポジトリーにアップロードすることができましたが、Red Hat Satellite 6.2 では、このアップロードはできなくなりました。 - をクリックしてリポジトリーを作成します。まず URL およびリポジトリー名が検証され、次にリポジトリーが作成されます。
6.3. 外部レジストリーのインポート
手順6.9 外部レジストリーをインポートするには、以下を実行します。
- → に移動します。 をクリックします。
- レジストリー タブで、レジストリーの名前および URL を指定します。これらの設定は必須です。オプションとして、レジストリーの簡単な説明を入力します。必要な場合は、レジストリーにアクセスするためのユーザー名およびパスワードを指定します。
- ロケーション タブで、新規レジストリーを利用可能にするロケーションを選択します。
- 組織 タブで、新規レジストリーを利用可能にする組織を選択します。
- をクリックしてレジストリーを作成します。
6.4. イメージのコンピュートリソースへのインポート
手順6.10 イメージをコンピュートリソースにインポートするには、以下を実行します。
- → に移動し、コンピュートリソースの一覧を表示します。
- 編集する docker コンピュートリソースを選択します。
- をクリックします。
- イメージ名、オペレーティングシステム、アーキテクチャー、ユーザーの認証情報、および親イメージを含むイメージの詳細を指定します。ユーザーデータ を選択してこのイメージのユーザー入力を有効にします。
- をクリックします。
6.5. コンテナータグの使用
手順6.11 レジストリーをタグ別に検索するには、以下を実行します。
- → に移動します。
- 検索フィールドを使用してタグをイメージ名、タグまたはリポジトリー名でフィルターします。入力時に自動提案機能が実行されます。たとえば、以下のクエリーで、test_repo という名前のリポジトリーのイメージに適用されるタグが検索されます。
repository = test_repo
- 表示するタグの名前をクリックします。Satellite ではこのタグを使用するイメージの一覧を表示します。
- イメージをクリックしてその環境およびコンテンツビューのバージョンを表示します。公開: フィールドには、コマンドラインでイメージをプルするのに使用できる URL が表示されます。
centos と入力してすべての centos タグを検索します。
第7章 アクティベーションキーの設定
- 関連付けられるサブスクリプションおよびサブスクリプションの割り当て動作。
- 利用可能な製品およびリポジトリー。
- ライフサイクル環境およびコンテンツビュー。
- ホストコレクションのメンバーシップ。
7.1. アクティベーションキーの作成
手順7.1 アクティベーションキーを作成するには、以下を実行します。
- → をクリックします。
- をクリックします。以下の操作を実行します。
- アクティべーションキーの名前を指定します。この設定は必須です。
- オプションとして、アクティべーションキーに関連付けることのできるホストの数を制限する必要がある場合は Unlimited Hosts チェックボックスをクリアします。制限 フィールドで数を指定します。
- オプションとして、説明 フィールドに適切な説明を入力します。また、このキーが適用される 環境 および コンテンツビュー を選択することもできます。
- ボタンをクリックして、アクティベーションキーを作成します。
7.2. アクティベーションキーのサブスクリプションプロパティーの定義
- サブスクリプションがアクティべーションキーに関連付けられているか?
- 自動割り当てオプションは有効にされているか?
- サブスクリプションが指定されていないアクティべーションキー: サブスクリプションが指定されておらず、自動割り当てが有効な場合に、アクティべーションキーを使用するホストは Satellite Server が提供する一覧から最適なサブスクリプションを検索します。これは、
subscription-manager --auto-attachコマンドを実行する場合と同様です。 - 自動割り当て用にカスタムサブスクリプションプールを指定するアクティべーションキー: サブスクリプションが指定されていて自動割り当てが有効にされている場合、アクティべーションキーを使用するホストはアクティべーションキーで指定された一覧から最適なサブスクリプションを選択します。
- サブスクリプションセットが指定されたアクティべーションキー: サブスクリプションが指定されており、自動割り当てが無効にされている場合、アクティべーションキーを使用するホストはアクティベーションキーに指定されたすべてのサブスクリプションに関連付けられます。
注記
7.2.1. サブスクリプションの追加および削除
手順7.2 サブスクリプションをアクティベーションキーに追加するには、以下を実行します。
- → をクリックします。
- 編集するアクティべーションキーの名前をクリックします。
- サブスクリプション タブで、追加 サブタブを選択します。
- 利用可能なサブスクリプションの一覧から、追加するサブスクリプションを選択します。
- をクリックします。
手順7.3 アクティベーションキーからサブスクリプションを削除するには、以下を実行します。
- → をクリックします。
- アクティベーションキーの一覧が表示されます。サブスクリプションを削除するアクティベーションキーをクリックします。
- タブをクリックします。
- 一覧/削除 サブに、割り当てられたサブスクリプションの一覧が表示されます。削除するサブスクリプションを選択します。
- をクリックします。
7.2.2. 自動割り当ての有効化
手順7.4 アクティベーションキーで自動割り当てを有効にするには、以下を実行します。
- → をクリックします。
- 編集するアクティべーションキーの名前をクリックします。
- サブスクリプション タブをクリックします。
- 自動割り当て の横にある編集アイコンをクリックします。
- このチェックボックスを選択して自動割り当てを有効にします。
- 保存 をクリックします。
注記
7.2.3. サービスレベルの設定
手順7.5 アクティベーションキーにサービスレベルを設定するには、以下を実行します。
- → をクリックします。
- 編集するアクティべーションキーの名前をクリックします。
- 詳細 タブをクリックします。
- サービスレベル の横にある編集アイコンをクリックします。
- ドロップダウンリストから必要なサービスレベルを選択します。ドロップダウンリストには、アクティベーションキーで利用できるサービスレベルのみが含まれます。
- 保存 をクリックします。
7.3. アクティベーションキーの編集
7.3.1. ホストコレクションの追加および削除
手順7.6 ホストコレクションをアクティベーションキーに追加するには、以下を実行します。
- → をクリックします。
- ホストコレクションの追加先となるアクティベーションキーをクリックします。
- ホストコレクション タブで 追加 サブタブをクリックし、利用可能なホストコレクションの一覧を表示します。
- 追加するホストコレクションを選択してから、 をクリックします。
手順7.7 アクティベーションキーからホストコレクションを削除するには、以下を実行します。
- → をクリックします。
- アクティベーションキーの一覧が表示されます。ホストコレクションを削除するアクティベーションキーをクリックします。
- タブをクリックします。
- 一覧/削除 サブタブで、アクティべーションキーに割り当てられたホストコレクションの一覧が表示されます。削除するホストコレクションのチェックボックスを選択します。
- をクリックして、アクティベーションキーからホストコレクションを削除します。
7.3.2. 製品コンテンツの編集
手順7.8 アクティベーションキーで製品コンテンツを編集するには、以下を実行します。
- → をクリックします。
- 編集するアクティべーションキーの名前をクリックします。
- 製品コンテンツ タブをクリックして、サブスクリプションでアクティべーションキーに関連付けられた製品およびリポジトリーを表示します。
- 編集するリポジトリーの横にある編集アイコンをクリックします。
- ドロップダウンメニューから、リポジトリーを有効にするか、または無効にするかどうかを選択します。保存 をクリックして変更を適用します。
7.3.3. ライフサイクル環境およびコンテンツビューの設定
手順7.9 アクティべーションキーのライフサイクル環境およびコンテンツビューを設定するには、以下を実行します。
- → をクリックします。
- 編集するアクティべーションキーの名前をクリックします。
- アクティベーションキーに関連付ける環境の横にあるチェックボックスをクリックします。ドロップダウンメニューからコンテンツビューを選択します。
- をクリックします。
7.4. アクティベーションキーの削除
手順7.10 アクティべーションキーを削除するには、以下を実行します。
- → をクリックします。
- 削除するアクティベーションキーの名前をクリックします。
- アクティベーションキー の詳細パネルの右上にある をクリックします。
- 警告ボックスで をクリックしてキーを削除することを確認します。
7.5. アクティべーションキーを使用したホストの自動登録
subscription-manager ユーティリティーを使用してこれを適用できます。インストールされる subscription-manager ユーティリティーのバージョンは 1.10 以上である必要があることに注意してください。「ホスト登録の設定」 に説明されているようにホストを準備してから、手順7.11「アクティベーションキーを使ってホストを自動登録するには、以下を実行します。」 で説明されている手順に従います。
手順7.11 アクティベーションキーを使ってホストを自動登録するには、以下を実行します。
- 古くなった登録データをシステムからクリアします。
# subscription-manager clean
- Satellite Server からホストの CA 証明書のコピーをダウンロードし、これをインストールします。
# rpm -Uvh http://satellite.example.com/pub/katello-ca-consumer-latest.noarch.rpm
- システムを Satellite Server 上の必要な組織に登録します。--activationkey フラグを使用し、アクティべーションキーを使用してシステムを登録します。プロンプトが出されたらユーザー認証の詳細を入力します。
# subscription-manager register --org "Default_Organization" --activationkey "Test_Key"
- システムが登録されると、リポジトリーコンテンツにアクセスできるようになりますが、管理者は、Katello エージェントがクライアントシステムに登録されるまでパッケージおよびエラータの管理を行うことができません。これを実行するには、以下を実行します。
# yum install katello-agent
ホストを登録するための複数アクティべーションキーの組み合わせ
# subscription-manager register --org "ACME" --activationkey "ak-VDC,ak-OpenShift"
第8章 GPG キーの設定
8.1. GPG キーの作成
手順8.1 GPG キーを Satellite に追加するには、以下を実行します。
- → をクリックしてから をクリックします。
- 名前 フィールドに、GPG キーの名前を入力します。
- GPG キーファイルをアップロードするか、または GPG キーのコンテンツをテキストボックスに貼り付けます。
- をクリックして GPG キーを Satellite に追加します。
8.2. GPG キーの削除
手順8.2 GPG キーを削除するには、以下を実行します。
- → をクリックします。
- 削除する GPG キーをクリックしてから をクリックします。
- 確認ボックスで をクリックして選択したキーを削除することを確認します。
第9章 プロビジョニング環境の設定
9.1. ホストグループの作成
手順9.1 ホストグループを Satellite に追加するには、以下を実行します。
- → をクリックしてから 新規ホストグループ をクリックします。
- ホストグループの必要な詳細情報を入力してから、 をクリックします。
以下の表は、Satellite ホストグループに適用される属性について説明しています。
表9.1 ホストグループ属性の表
|
サブメニュー
|
オプション
|
説明
|
|---|---|---|
|
ホストグループ
|
親
|
新規ホストグループの親ホストグループです。
|
|
名前
|
ホストグループの名前です。
| |
|
ライフサイクル環境
|
このホストグループを含む環境です。
| |
|
Puppet CA
|
Puppet CA サーバーに使用する Red Hat Satellite Capsule Server です。
| |
|
Puppet マスター
|
Puppet マスターとして使用する Red Hat Satellite Capsule Server です。
| |
|
Puppet クラス
|
組み込み済みのクラス
|
ホストグループに組み込まれている Puppet クラスです。
|
|
利用可能なクラス
|
ホストグループと共に使用できる Puppet クラスです。
| |
|
ネットワーク
|
ドメイン
|
ホストグループ内のホストのドメインです。
|
|
サブネット
|
ホストグループ内のホストのサブネットです。
| |
|
オペレーティングシステム
|
アーキテクチャー
|
ホストグループ内のシステムのデフォルトアーキテクチャーです。
|
|
オペレーティングシステム
|
ホストグループ内のシステムのデフォルトオペレーティングシステムです。
| |
|
メディア
|
オペレーティングシステムのインストールメディアのある場所です。
| |
|
パーティションテーブル
|
オペレーティングシステムをインストールするためのファイルシステムのパーティションレイアウトです。
| |
|
root パスワード
|
オペレーティングシステムの root パスワードです。
| |
|
パラメーター
|
パラメーターの追加
|
ホストグループのパラメーターを設定するために名前と値のペアを提供します。
|
|
組織
|
組織
|
このホストグループを所有する組織です。
|
|
アクティベーションキー
|
コンテンツ環境
| @host.params['kt_activation_keys'] としてテンプレートで利用可能になるアクティベーションキーを定義します。
|
9.2. パラメーター
パラメーターのタイプ
- 単純パラメーター
- キーと値のペアの関係を定義する文字列パラメーターです。それらはユーザー設定で上書きされることはありませんが、Satellite のパラメーター階層に基づいて上書きされます。Global (グローバル)、organization-level (組織レベル)、location-level (ロケーションレベル)、domain-level (ドメインレベル)、operating system level (オペレーティングシステムレベル)、host group (ホストグループ)、および host (ホスト) パラメーターは単純パラメーターに含まれます。
- スマートパラメーター
- キーの値を定義するだけでなく、特定のオブジェクトタイプの条件付き引数、検証および上書きを可能にする複雑なパラメーターです。スマートパラメーターにより Puppet クラスは外部データを取得することができます。スマートパラメーターは、Peppet 用語で パラメーター化クラス と呼ばれる Puppet クラスで使用されます。それらのパラメーターの階層は Web UI で設定できます。
- グローバルパラメーター
- Satellite のすべてのホストに適用されるデフォルトパラメーターです。 → で設定されます。
- 組織レベルのパラメーター
- 特定の組織のすべてのホストに影響を与えるパラメーターです。組織レベルのパラメーターはグローバルパラメーターを上書きします。 → → → で設定されます。
- ロケーションレベルのパラメーター
- 特定ロケーションのすべてのホストに影響を与えるパラメーターです。ロケーションレベルのパラメーターは組織レベルのパラメーターおよびグローバルパラメーターを上書きします。 → → → で設定されます。
- ドメインパラメーター
- 特定ドメインのすべてのホストに影響を与えるパラメーターです。ドメインパラメーターはロケーションレベル以上のパラメーターを上書きします。 → → → で設定されます。
- オペレーティングシステムレベルのパラメーター
- 特定のオペレーティングシステムを持つすべてのホストに影響を与えるパラメーターです。オペレーティングシステムレベルのパラメーターは、ドメイン以上のパラメーターに影響を与えます。 → → → で設定されます。
- ホストグループパラメーター
- 特定のホストグループのすべてのホストに影響を与えるパラメーターです。ホストグループパラメーターはオペレーティングシステムレベル以上のパラメーターを上書きします。 → → → で設定されます。
- ホストパラメーター
- 特定のホストに影響を与えるパラメーターです。従前より継承されるすべてのパラメーターは「パラメーター」サブタブに表示され、上書きすることができます。 → → → で設定されます。
パラメーターと Puppet クラスの使用
- スマート変数
- スマートパラメーターを持たないクラス用に、キー/値の形式でグローバルパラメーターを Puppet マスターに指定するメソッドです。スマート変数は Puppet マニフェストの値の上書きを可能にします。それらは、クラスにスマートパラメーターがない場合や、グローバルパラメーターが必要となる特殊な場合に使用することが意図されています。また、複数の値を持たせることができますが、それらの値は階層のコンテキストやユーザーが適用する様々な条件によって異なります。これらの変数は Puppet がクラスをパラメーター化する前に存在していたものであり、下位互換性または検証が必要なグローバルパラメーターを使用し、グローバルパラメーターを特定の Puppet クラスにのみ適用できます。また文字列以外のタイプで使用できます (文字列タイプも使用できますが、その場合は単純パラメーターを使用すればよいことになります)。
- パラメーター化クラス
- スマートパラメーターに含まれる Puppet クラスです。これらのクラスは Puppet マスターからインポートされ、
$::name(推奨) または$nameなどのパラメーターの名前がクラスを作成した人によって定義され、これを変更することはできません。これらのクラスにより、グーバルにではなく特定クラスの変数の値を決定することができます。
/etc/foreman/settings.yaml 設定ファイルは satellite-installer コマンドの次回の実行時に上書きされるため、手動で変更することはできません。
重要
Parametrized_Classes_in_ENC (ENC のパラメーター化クラス) が True に設定されているかどうかを確認できます。
9.2.1. グローバルな単純パラメーターの作成
手順9.2 グローバルな単純パラメーターを作成するには、以下を実行します。
- → をクリックします。
- をクリックします。
- パラメーターのキーの 名前 を入力します。
- パラメーターの 値 を入力します。
- オプションで、値をWeb UI で非表示にするかどうかを選択します。
- 送信 をクリックします。
9.2.2. スマート変数の設定
手順9.3 スマート変数を設定するには、以下を実行します。
- → をクリックします。
- 一覧からクラスを選択します。
- スマート変数 タブをクリックします。これにより、新規の画面が表示されます。左側のセクションには、クラスがサポートする使用可能なパラメーターの一覧が含まれます。右側のセクションには、選択したパラメーターの設定オプションが含まれます。 をクリックして新規パラメーターを追加します。または、左側の一覧からパラメーターを選択します。
- キー フィールドに名前を入力します。
- 詳細 テキストボックスを編集して、プレーンテキストのメモを追加します。
- 渡すデータの キータイプ を選択します。最も一般的なタイプは文字列ですが、他のデータタイプもサポートされています。
- ホストが一致しない場合に Puppet Master に送信されるパラメーターの Default Value を入力します。
- フィールドに作業中に表示したくないデータがが含まれる場合、オプションで 非表示の値 を選択します。
- Optional Input Validator セクションを使用してパラメーターに許可される値を制限します。バリデータータイプ (コンマ区切り値の list か、または正規表現の regexp のいずれか) を選択し、許可される値または正規表現コードを バリデータールール フィールドに入力します。
- Prioritize attribute order セクションは、条件付き引数に基づいて特定ホストの値を上書きするオプションを提供します。属性タイプおよびその値は matcher として知られています。
- エントリーを一覧に配置して、ホスト属性またはファクトが Matcher に対して評価される優先順位の 順序 を設定します。デフォルト一覧に追加することができます。Matcher 間で論理 AND 条件を作成するには、それらをコンマ区切りの一覧として一行に配置します。
- をクリックして条件付き引数を追加します。一致する属性は 順序 一覧のエントリーに対応するはずです。Matcher が設定されていない場合、デフォルト値のみが上書き機能として使用されます。たとえば、Puppet マスターに指定する必要のあるパラメーターの値が
server1.example.comの完全修飾ドメイン名を持つホストのtestの場合、Matcher をfqdn=server1.example.comとして、値 をtestに設定します。一致の手順は以下のとおりです。Facter にある属性で、ホストの属性と混同しない属性を使用することが推奨されています。ホスト属性はホストパラメーターか、またはホストグループ、ドメイン、および組織などのホストの関連付けを使用することができます。マッチャーはいずれかのホストで固有である必要があります。たとえば、ホストが複数の config グループに属する可能性があるものの、ホストには 1 つのロケーションのみが設定され、ロケーションのファクトは有効なマッチャーとなるため、 config グループのファクトを使用することはできません。- マッチャーがホスト属性の場合はそれを使用します。
- 該当する名前を持つ属性がない場合は、一致するホストパラメーター (パラメーターの階層に基づいて継承される) を探します。
- それでも一致しなければホストのファクトをチェックします。
動的なデータは、Embedded Ruby (ERB) テンプレート構文の 値 フィールドでパラメーターおよび Puppet ファクトを使用すると利用できます。たとえば、Puppet ファクトを値の一部として使用するには、以下を実行します。<%= @host.facts['network_eth0'] %>
利用可能な Puppet ファクトを一覧表示するには、 → に移動します。
- をクリックして変更を保存します。
9.2.3. Puppet マスターからのパラメーター化されたクラスのインポート
注記
手順9.4 パラメーター化されたクラスをインポートするには、以下を実行します。
- Satellite web UI では、コンテキストメニューから 組織 および ロケーション を選択します。
- → をクリックします。
- ホスト名からインポート をクリックして、Puppet マスターからパラメーター化されたクラスをインポートします。
- Puppet クラス ページが新規クラスの一覧と共に表示されます。
9.2.4. スマートクラスパラメーターの設定
手順9.5 スマートクラスパラメーターを設定するには、以下を実行します。
- → をクリックします。
- パラメーター 列に示されるパラメーターを含むクラスを一覧から選択します。
- スマートクラスパラメーター タブをクリックします。これにより新しい画面が表示されます。左側のセクションには、クラスがサポートする使用可能なパラメーターの一覧が含まれます。右側のセクションには、選択したパラメーターの設定オプションが含まれます。
- 左側の一覧からパラメーターを選択します。
- 詳細 テキストボックスを編集して、プレーンテキストのメモを追加します。
- 上書き を選択してこの変数に対する Satellite のコントロールを許可します。チェックボックスが選択されていない場合、Satellite は新規の変数を Puppet に渡しません。
- 渡すデータの キータイプ を選択します。最も一般的なタイプは文字列ですが、他のデータタイプもサポートされています。
- ホストが一致しない場合に Puppet Master に送信されるパラメーターの Default Value を入力します。
- 上書きの一致がない場合、値を Puppet Master に送信 しない ようにするには、オプションで Puppet デフォルトの使用 を選択します。
- フィールドに作業中に表示したくないデータがが含まれる場合、オプションで 非表示の値 を選択します。
- Optional Input Validator セクションを使用してパラメーターに許可される値を制限します。バリデータータイプ (コンマ区切り値の list か、または正規表現の regexp のいずれか) を選択し、許可される値または正規表現コードを バリデータールール フィールドに入力します。
- 上書き オプションが選択されていると 属性の優先度付け セクションが表示されます。これは条件付き引数に基づいて特定ホストの値を無効にするオプションを提供します。この属性タイプおよびその値は Matcher として知られています。
- エントリーを一覧に配置して、ホスト属性またはファクトが Matcher に対して評価される優先順位の 順序 を設定します。デフォルト一覧に追加することができます。Matcher 間で論理 AND 条件を作成するには、それらをコンマ区切りの一覧として一行に配置します。
- をクリックして条件付き引数を追加します。一致する属性は 順序 一覧のエントリーに対応するはずです。Matcher が設定されていない場合、デフォルト値のみが上書き機能として使用されます。たとえば、Puppet マスターに指定する必要のあるパラメーターの値が
server1.example.comの完全修飾ドメイン名を持つホストのtestの場合、Matcher をfqdn=server1.example.comとして、値 をtestに設定します。マッチングの優先順位は以下のとおりです。Facter にある属性で、ホストの属性と混同しない属性を使用することが推奨されています。- マッチャーがホスト属性の場合はそれを使用します。
- 該当する名前を持つ属性がない場合は、一致するホストパラメーター (パラメーターの階層に基づいて継承される) を探します。
- それでも一致しなければホストのファクトをチェックします。
動的なデータは、Embedded Ruby (ERB) テンプレート構文の 値 フィールドでパラメーターおよび Puppet ファクトを使用すると利用できます。たとえば、Puppet ファクトを値の一部として使用するには、以下を実行します。<%= @host.facts['network_eth0'] %>
利用可能な Puppet ファクトを一覧表示するには、 → に移動します。
- をクリックして変更を保存します。
9.3. プロビジョニング設定の構成
9.3.1. ドメイン
手順9.6 ドメインを作成するには、以下を実行します。
- → をクリックします。
- をクリックします。ドメイン タブで以下の設定を指定します。
- ドメインの 名前 を指定します。これは必須の DNS ドメイン名です。
- ドメインの 詳細 を入力します。
- DNS で有効にされた Capsule Server を選択します。
- パラメーター タブで、ドメインパラメーターを指定します。
- Locations (ロケーション) タブで、ドメインのロケーションを選択します。
- 組織 タブで、ドメインの組織を選択します。
重要
ロケーションと組織はデバッグ作業に役立つため、これらが設定されていることを確認します。 - をクリックします。
9.3.2. サブネット
9.3.2.1. サブネットの作成
手順9.7 サブネットを作成するには、以下を実行します。
- → をクリックします。
- 新規サブネット をクリックします。サブネット タブで、以下の設定を指定します。
- サブネットの 名前、ネットワーク (IP アドレス)、および マスク を指定します。これらの設定は必須です。
- オプションで、ゲートウェイ、プライマリー DNS、セカンダリー DNS、および VLAN ID を指定します。ゲートウェイアドレスは、IPAM およびブートモードが DHCP (デフォルト) に設定されている場合のみのオプションになることに注意してください。これらのデフォルトモードを変更することにする場合は、ゲートウェイおよび DNS を指定することも必要です。また、IPAM モード (「DHCP」、「内部 DB」、または「なし」) を選択して、開始アドレス および 終了アドレス フィールドで IP 割り当ての範囲を定義することもできます。
- サブネットのデフォルト ブートモード (「DHCP」または「静的」) を選択します。
- ドメイン タブで、サブネットの適用可能なドメインを選択します。
- Capsules (プロキシー) タブで、DFCP、TFTP、DNS、および Discovery サービスをホストするために使用される Capsule Server を選択します。
- ロケーション タブで、サブネットのロケーションを選択します。
- 組織 タブで、サブネットの組織を選択します。
重要
ロケーションと組織はデバッグ作業に役立つため、これらが設定されていることを確認します。 - をクリックします。
9.3.3. アーキテクチャー
手順9.8 アーキテクチャーを作成するには、以下を実行します。
- → をクリックしてから 新規アーキテクチャー をクリックします。
- アーキテクチャーの 名前 を指定します。
- このアーキテクチャーが含まれるすべての オペレーティングシステム を選択します。該当するオペレーティングシステムがない場合は、 → 下でこれらを作成し、割り当てることができます。
- をクリックします。
9.3.4. コンピュートリソース
手順9.9 コンピュートリソースを追加するには、以下を実行します。
- → に移動します。
- 新規のコンピュートリソース をクリックします。コンピュートリソース タブで、以下の設定を指定します。
- コンピュートリソースの 名前 および プロバイダー タイプを指定します。オプションとして、説明 を挿入します。
- 選択したプロバイダーのタイプによって、次のいくつかのフィールドで認証とデータセンターの詳細情報が求められます。それぞれのプロバイダータイプについてさらに詳しくは、以下の表を参照してください。
表9.2 プロバイダーの設定
タイプ説明RHEVRed Hat Enterprise Virtualization 環境に適しています。コンピュートリソースを抽象化するためにシステムで Manager API の URL、有効な Username および Password、および Datacenter が必要になります。Load Datacenters をクリックしてドロップダウンメニューを設定します。オプションで Quota ID を指定し、X509 Certification Authorities フィールドに 1 つ以上の証明書機関を指定します。LibvirtLibvirt ベースの環境に適しています。仮想マシンの URL が必要になります。Display type を選択します。 をクリックして仮想マシンが利用可能かどうかをテストします。Console passwords を選択して、表示接続にランダムに生成されたパスワードを設定します。VMwareVMware ベースの環境に適しています。コンピュートリソースを抽象化するために VCenter/Server のホスト名、有効な VMware Username および Password、および Datacenter が必要になります。Load Datacenters をクリックしてドロップダウンメニューを設定します。証明書 Fingerprint を指定し、Console passwords を選択して表示接続でランダムに生成されたパスワードを設定します。RHEL OpenStack PlatformOpenStack ベースの環境に適しています。コンピュートリソースを抽象化するために OpenStack サーバーの URL、有効な OpenStack Username および Password、および Tenant が必要になります。Load Tenants をクリックしてドロップダウンメニューを設定します。RackspaceRackspace のパブリッククラウドアカウントに適しています。コンピュートリソースを抽象化するために Rackspace API の URL、有効な Rackspace Username および API Key、および Region が必要になります。 をクリックして選択したリージョンへの接続が有効であることを確認します。EC2Amazon EC2 のパブリッククラウドアカウントに適しています。有効な Amazon EC2 アカウントから利用できる アクセスキー および 秘密鍵 が必要です。リソースを抽象化するためのデータセンターとして機能させるには リージョン が必要です。 ボタンをクリックして選択ボックスにデータを設定します。GoogleGoogle Compute Engine のパブリッククラウドアカウントに適しています。Google Project ID、有効な Client Email および p12 ファイルへの Certificate path が必要になります。Zone を指定してコンピュートリソースを抽象化することもできます。 をクリックしてドロップダウンメニューを設定します。Dockerコンテナーレジストリーに適しています。内部または外部のコンピュートリソースの URL が必要になります。オプションで Username、Password、およびコンタクト先の Email を指定します。 をクリックして接続が利用可能であるかどうかをテストします。
- ロケーション タブで、必要なロケーションを 選択された項目 の一覧に追加するためにそれらのロケーションを選択します。
- 組織 タブで、必要な組織を 選択された項目 の一覧に追加するためにそれらの組織を選択します。
重要
ロケーションと組織はデバッグ作業に役立つため、これらが設定されていることを確認します。 - をクリックします。
9.3.5. コンピュートリソースとしての Libvirt の設定
# yum install qemu-kvm libvirt virt-manager
- Web UI ブラウザーが
virt-managerとは別のシステムで実行されている場合は、手順9.11「Libvirt への SSH アクセスを設定するには、以下を実行します。」 に進んでください。 - Web UI ブラウザーが
virt-managerと同じシステムで実行されている場合、以下の手順を実行して Libvirt コンピュートリソースを追加します。
手順9.10 Libvirt コンピュートリースを追加するには、以下を実行します。
- → に移動します。
- 新規のコンピュートリソース をクリックします。コンピュートリソース タブで、以下の設定を指定します。
- 名前 を指定し、プロバイダー ドロップダウンメニューから、コンピュートリソースのタイプとして Libvirt を選択します。オプションで 説明 を挿入します。
- フィールドに、
qemu:///system
のように文字列を入力します。 - ドロップダウンメニューから、 を選択します。
- このコンピュートリソースが新規の Libvirt ゲストにのみ使用される場合は、オプションで チェックボックスを選択します。このオプションは、先に設定された Libvirt ゲストと共に使用することはできません。
- をクリックします。接続が正常な場合、ボタンが緑色に変わります。
- をクリックして設定を保存します。
- タブを選択します。先に設定した Libvirt ゲストが表示されます。
手順9.11 Libvirt への SSH アクセスを設定するには、以下を実行します。
foremanユーザーの SSH ファイルパーミッションおよび SELinux コンテキストが正しいことを確認します。#
ls -Zd /usr/share/foreman/.sshdrwx------. foreman foreman system_u:object_r:ssh_home_t:s0 /usr/share/foreman/.sshforemanユーザーの SSH キーを作成します。#
su - foreman -s /bin/bash-bash-4.2$ssh-keygenGenerating public/private rsa key pair. Enter file in which to save the key (/usr/share/foreman/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /usr/share/foreman/.ssh/id_rsa. Your public key has been saved in /usr/share/foreman/.ssh/id_rsa.pub. The key fingerprint is: 07:47:a9:23:d2:fe:2f:07:fb:55:75:46:3e:8e:6e:69 foreman@satellite.example.com The key's randomart image is: +--[ RSA 2048]----+ | .. .| | .. o | | . ... .=| | . o oo ooo| | o .S.. ... | | . .. ... | | . o .E | | + ..o | | =o | +-----------------+SSH公開キーをリモートハイパーバイザーシステムにコピーします。たとえば、Libvirt ホストが kvm.example.com の場合は以下のようになります。-bash-4.2$
ssh-copy-id root@kvm.example.comThe authenticity of host 'kvm.example.com (192.168.1.2)' can't be established. ECDSA key fingerprint is 78:79:41:d0:b8:40:d5:4a:6d:7f:22:03:bd:cd:a0:dd. Are you sure you want to continue connecting (yes/no)? yes /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed /usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys foreman@192.168.1.2's password: Number of key(s) added: 1 Now try logging into the machine, with: "ssh 'root@kvm.example.com'" and check to make sure that only the key(s) you wanted were added.SSHをリモートシステムに接続して、パスワードのプロンプトが表示されないことを確認します。-bash-4.2$
ssh root@kvm.example.comパスワードのプロンプトが 出されることがあってはなりません。公開キーはリモートシステムの.ssh/authorized_keysファイルにあります。ログインしてキーを確認後に終了します。-bash-4.2$
exit- Web UI で、 → に移動してから をクリックします。
- フィールドで適切な名前を見つけます。
- ドロップダウンメニューから を選択します。
- フィールドで、以下のような形式の文字列を入力します:
qemu+ssh://root@kvm.example.com/system
ここで、kvm.example.com は Libvirt ホストの FQDN です。 - ドロップダウンメニューで を選択します。
- オプションとして、コンピュートリソースが新規の Libvirt ゲストのみに使用される場合に チェックボックスを選択します。このオプションは、先に設定した Libvirt ゲストと共に使用することはできません。
- をクリックします。接続が正常な場合、ボタンが緑色に変わります。
- をクリックして設定を保存します。
- タブを選択します。先に設定した Libvirt ゲストが表示されます。
手順9.12 noVNC コンソールを設定するには、以下を実行します。
- SSH キーは Satellite Server のベースシステムの
foremanユーザーに対して設定する必要があります (前述)。 - 既存の Libvirt ゲストは、表示タイプとして VNC サーバーを使用できるように設定される必要があります。この際、ポートは
Autoに設定され、VNC パスワードは選択されません。
- ハイパーバイザーホストシステムで、
VNCサービスをポート5900 から 5930 までで許可するようにファイアウォールを許可できるように設定します。- Red Hat Enterprise Linux 6 の場合:
#
iptables -A INPUT -p tcp --dport 5900:5930 -j ACCEPT#service iptables save - Red Hat Enterprise Linux 7 の場合:
#
firewall-cmd --add-port=5900-5930/tcp#firewall-cmd --add-port=5900-5930/tcp --permanent
- Web UI に使用されるブラウザーで、以下のように Satellite Server 証明書を信頼します。
- Satellite Server の公的なダウンロードページ (例:
https://satellite.example.com/pub/) に移動し、証明書ファイルkatello-server-ca.crtをクリックします。 - Web サイトを特定するために証明書を信頼する選択をします。
- web UI に使用されるブラウザーで、HTTP strict transport security (HSTS) を無効にします。HSTS については、RFC 6797 で説明されています。Firefox の場合、ブラウザーアドレスバーに
About:Configを入力し、以下のブーリアンをTrue:network.websocket.allowInsecureFromHTTPS
に設定します。 - web UI のブラウザーで FQDN を使用していることを確認します。NoVNC は URL のドメイン名が証明書の CN 値に一致しない場合には機能しません。これは FQDN と同じである必要があります。以下のようにコマンドを使用して CN 値をチェックします。
#
openssl x509 -text -noout -in /etc/pki/katello/certs/katello-apache.crt | grep CNIssuer: C=US, ST=North Carolina, L=Raleigh, O=Katello, OU=SomeOrgUnit, CN=satellite.example.com Subject: C=US, ST=North Carolina, O=Katello, OU=SomeOrgUnit, CN=satellite.example.com出力省略 - + に移動します。Libvirt リソースの名前を選択します。 タブで、Libvirt ゲストの名前を選択します。マシンの電源がオンになっていることを確認してから、 を選択します。コンソールウィンドウは noVNC ハンドシェイクの完了後に表示されます。
9.3.6. ハードウェアモデル
手順9.13 ハードウェアモデルを作成するには、以下を実行します。
- → をクリックします。
- をクリックします。
- ハードウェアモデルの 名前 を指定します。
- SPARC ビルドの場合、CPU の ハードウェアモデル と ベンダークラス を挿入します。他のアーキテクチャーの場合、これらのフィールドに値は必要ありません。
- 情報 テキストボックスにハードウェアモデルの詳細を入力します。
- をクリックします。
9.3.7. インストールメディア
手順9.14 インストールメディアを追加するには、以下を実行します。
- → をクリックします。
- 新規メディア をクリックします。メディア タブで、以下の設定を指定します。
- インストールメディアの 名前 を入力します。この設定は必須です。
- インストールメディアへの パス を入力します。オプションとして、URL または有効な NFS サーバーのいずれかを使用できます。この設定は必須です。
- オペレーティングシステムファミリー を選択して、インストールメディアのタイプを定義します。
- ロケーション タブで必要なロケーションを選択し、それらを 選択された項目 の一覧に追加します。
- 組織 タブをクリックしてから、必要な組織を選択し、それらを 選択された項目 の一覧に追加します。
重要
ロケーションと組織はデバッグ作業に役立つため、これらが設定されていることを確認します。 - をクリックします。
9.3.8. パーティションテーブル
手順9.15 パーティションテーブルを作成するには、以下を実行します。
- → をクリックします。
- をクリックします。
- パーティションテーブルの 名前 を入力します。
- パーティションテーブルの レイアウト を指定します。レイアウト フィールドは、動的なディスクパーティションスクリプトも入力できます。
- OS 種類 ドロップダウンリストからオペレーティングシステムを選択します。
- をクリックします。
9.3.9. プロビジョニングテンプレート
手順9.16 プロビジョニングテンプレートの作成:
- → をクリックします。
- 新規テンプレート をクリックします。テンプレート タブで、以下の設定を指定します。
- テンプレートの 名前 を指定します。
- テンプレートエディター フィールドにテンプレートを挿入します。または、 をクリックしてテンプレートをアップロードします。これにより、テンプレートエディター フィールドの内容が選択したファイルの内容に置き換わります。
- オプションとして、監査コメント フィールドにコメントを入力します。Satellite ではコメントをテンプレート履歴に追加して変更を追跡します。履歴 タブの下でテンプレート履歴を表示します。
- タイプ タブで、スニペット を選択し、特定のスクリプトやテンプレートタイプを定義せずにテンプレートコードを保存するか、または タイプ ドロップダウンメニューからタイプを選択します。
- 関連付け タブで、テンプレートに関連付けるホストグループ、環境およびオペレーティングシステムを選択します。適用可能なオペレーティングシステム 一覧からオペレーティングシステムを選択します。 をクリックして ホストグループ および 環境 を選択し、テンプレートの使用を制限します。関連付けはスニペットタイプでは使用できないことに注意してください。
- 関連付け タブで、既存テンプレートの履歴を表示できます。新規テンプレートの作成時に履歴は利用できません。
- ロケーション タブで、テンプレートのロケーションを選択します。
- 組織 タブで、テンプレートの組織を選択します。
重要
ロケーションと組織はデバッグ作業に役立つため、これらが設定されていることを確認します。 - をクリックします。
9.3.10. プロビジョニング時間を削減するための gPXE の設定
HTTP などの追加のプロトコルの使用可能にしてダウンロード時間を短縮します。gPXE を使用するには、以下を実行します。
TFTPサーバーにするように設定されたシステムで、/usr/share/syslinux/gpxelinuxk.0を/var/lib/tftpbootにコピーします。/etc/dhcp/dhcpd.confのPXE Handoffセクションで、DHCPfilenameオプションをpxelinux.0からgpxelinuxk.0に変更します。- プロビジョニングテンプレートを以下のように作成してから、それらをデフォルトテンプレートと共にオペレーティングシステムに割り当てます。
手順9.17 gPXE プロビジョニングテンプレートを設定するには、以下を実行します。
- → をクリックします。
- テンプレートの を見つけ、 を選択します。
- たとえば、
Kickstart default gPXELinuxなどの名前を入力します。 - テンプレートエディターで、
@initrdを検索し、これを@host.url_for_boot(:initrd)に置き換えます。 - テンプレートエディターで、
@kernelを検索し、これを@host.url_for_boot(:kernel)に置き換えます。 - タブを選択します。 ドロップダウンメニューから を選択します。
- 関連付け タブで、テンプレートに関連付けるホストグループ、環境およびオペレーティングシステムを選択します。適用可能なオペレーティングシステム 一覧からオペレーティングシステムを選択します。 をクリックし、ホストグループ および 環境 を選択してからテンプレートの使用を制限します。
- をクリックします。
9.3.11. オペレーティングシステム
RedHat ファミリーを使用します。ファミリーの分類により、Satellite ではホストのプロビジョニング時の特定の動作を変更することができます。
手順9.18 オペレーティングシステムを追加するには、以下を実行します。
- → をクリックします。
- 新規オペレーティングシステム をクリックします。オペレーティングシステム タブで、以下の設定を指定します。
- オペレーティングシステムの 名前 およびその メジャーバージョン を入力します。これらの設定は必須です。
- オプションで マイナーバージョン を定義し、OS Family (OS 種別) を選択してからオペレーティングシステムの 説明 を追加します。
- root パスワードのハッシュ (MD5、SHA256、SHA512) を選択します。
- 利用可能なアーキテクチャーの一覧から アーキテクチャー を選択します。利用可能なアーキテクチャーがない場合は、「アーキテクチャー」 で説明されているようにそれらを作成し、 → の下で割り当てます。
- パーティションテーブル タブで、一覧から適用可能なファイルシステムレイアウトを選択します。パーティションテーブルの作成についての詳細は、「パーティションテーブル」 を参照してください。
- インストールメディア タブで、一覧から適用可能なインストールメディアを選択します。インストールメディアの追加についての詳細は、「インストールメディア」 を参照してください。
- テンプレート タブで、既存のオペレーティングシステムの編集時にプロビジョニングテンプレートを割り当てることができます。このオプションは、新規のオペレーティングシステムの作成時には利用できません。プロビジョニングテンプレートの作成についての詳細は、「プロビジョニングテンプレート」 を参照してください。
- パラメーター タブで、オペレーティングシステムのパラメーターを追加できます。
- をクリックします。
9.4. ホスト情報の保存および維持
- Foreman: 物理システムと仮想システムのプロビジョニングとライフサイクル管理を可能にします。Foreman は、キックスタートや Puppet モジュールなどの各種の方法を使ってこれらのシステムを自動的に設定します。
- Puppet: ホストを設定するためのクライアント/サーバーアーキテクチャーです。Puppet マスター (サーバー) および Puppet エージェント (クライアント) で構成されます。
- Facter: Puppet のシステムインベントリーツールです。Facter は、ハードウェアの詳細、ネットワーク設定、OS タイプおよびバージョン、IP アドレス、MAC アドレス、SSH キーなどの基本的な情報 (ファクト) を収集します。これらのファクトは Puppet マニフェストで変数として利用可能になります。
9.4.1. Puppet アーキテクチャー
- カタログのコンパイル
- カタログの該当ホストへの適用
--noop パラメーターが使用されていた場合に加えられていた可能性のある変更についてのレポートを Puppet マスターに送信します。次に Puppet マスターはその結果を Foreman に送信します。このカタログは 1 つの特定のホストのあるべき状態について記述します。また、リソース間の依存関係を含むホストで管理するリソースを一覧表示します。エージェントはカタログをホストに適用します。
runinterval パラメーターを使用して、/etc/puppet/puppet.conf ファイルに異なる値を指定することができます。また、puppet agent apply を実行して通信を手動で開始することもできます。
9.4.2. Facter およびファクトの使用
httpd サービスは常に実行状態にする必要があると指示することができます。Puppetはそれを処理する方法を認識します。異なるオペレーティングシステムを管理している場合は、osfamily ファクトを使用して条件式を作成し、Puppet に対して確認するサービスまたはインストールするパッケージについて指示します。operatingsystemmajrelease および versioncmp パラメーターを使用して、同じオペレーティングシステムの異なるバージョンに基づいて条件式を作成できます。条件式の使用例については、例9.1「条件式とファクトの使用」 を参照してください。
例9.1 条件式とファクトの使用
if $:: osfamily == 'RedHat' {
if $::operatingsystemmajrelease == '6' {
$ntp_service_name = 'ntpd'
}
elseif versioncmp($::operatingsystemmajrelease, '7') >= 0 {
$ntp_service_name = 'chrony'
}
}注記
9.4.2.1. 特定ホストのファクトの表示
facter -p) で、また Web UI ( → ) でも表示できます。ファクトの一覧を閲覧したり、検索 ボックスを使用して特定ファクトを検索したりできます。たとえば、「facts.」と入力して利用可能なファクトの一覧を表示します。
注記
手順9.19 特定ホストのファクトを表示するには、以下を実行します。
- メインメニューで、 → をクリックしてから検査する必要のあるホストの名前をクリックします。
- 詳細 ペインで、 をクリックし、ホストについての既知のファクトすべてを表示します。
注記
- このページに一覧表示されているファクトについて、 をクリックし、このファクト名のすべての管理対象ホストにおけるディストリビューションチャートを表示します。
- 検索をブックマークすると、今後の検索を容易にできます。検索を絞る場合は ボタンの横のドロップダウン矢印をクリックして をクリックします。ブックマークされた検索が ドロップダウンリストに表示され、またメインメニューの → にも表示されます。
9.4.2.2. ファクトに基づくホストの検索
facts.architecture = x86_64 などの特定のファクト条件に一致するすべてのホストを検索できることを意味します。
手順9.20 ファクトに基づいてホストを検索するには、以下を実行します。
- メインメニューで、 → をクリックし、ファクト値 ページを表示します。
- 検索 フィールドで、フィルターをかけるファクトの名前を入力します。特定の名前、名前/値のペアなどで検索を実行できます。
- をクリックして、一致するホストの一覧を検索します。
9.4.2.3. カスタムファクトのレポート
- マニフェスト
pkginventoryは Puppet Forge から取得され、ベースシステムに保存されます。 - Puppet モジュールはコンテンツビューに追加され、これはシステムにプロモートされてからそのシステムにデプロイされます。
- その後、システムのファクトのクエリーがパッケージ名を使用して実行されます。この例では、ホスト hostname および Satellite ユーザーが認証情報の username および password と共に使用されます。以下の API クエリーは検索文字列「bash」に一致したファクトを返します。
curl -u username:password -X GET http://localhost/api/hosts/:hostname/facts?search=bash {"hostname":{"pkg_bash":"4.2.45-5.el7_0.4"}}この検索はパッケージのバージョンを返します。これは外部データベースにデータを設定するために使用される可能性があります。
pkginventory Puppet モジュールの追加
pkginventory Puppet モジュールを Red Hat Satellite Server アプリケーションに追加するには、モジュールを https://forge.puppetlabs.com/ody/pkginventory から Satellite Server アプリケーションがインストールされているベースシステムにダウンロードし、以下の手順に従います。
手順9.21 Puppet モジュールをリポジトリーにアップロードするには、以下を実行します。
- Puppet モジュールをベースシステムにダウンロードします。ダウンロードされているモジュールには、
.tar.gz拡張子が使用されます。 - → をクリックしてから、Puppet モジュールリポジトリーに関連付けられた 名前 フィールドの製品名をクリックします (例: Custom Products (カスタム製品))。
- リポジトリー タブで、変更する Puppet モジュールリポジトリーを選択します (例: Puppet Modules)。
- Puppet モジュールのアップロード セクションで、 をクリックし、ダウンロードしたモジュールに移動します。
- をクリックします。
手順9.22 モジュールをコンテンツビューに追加するには、以下を実行します。
- → をクリックして、 メニューからコンテンツビューを選択します。
- Puppet モジュール タブで、 をクリックします。インストールされたモジュールの一覧が表示されます。
- アクション 列で、 をクリックして追加するモジュールを選択します。利用可能なバージョンの一覧が表示されます。
- 追加するモジュールのバージョンの横にある をクリックします。
- をクリックして新規コンテンツビューを作成します。
- オプションで説明を追加し、 をクリックします。
第10章 ホストの設定
10.1. ホストの参照
- すべてのホスト: Satellite Server が認識するすべてのホストの一覧です。
- 検出されたホスト: Discovery プラグインによってプロビジョニングネットワークで検出されたベアメタルホストの一覧です。
- コンテンツホスト: コンテンツおよびサブスクリプションに関連付けられたタスクを管理するホストの一覧です。
- ホストコレクション: エラータのインストールなどの一括操作に使用されるユーザー定義のホストコレクションの一覧です。
10.2. ホストの状態タイプ
表10.1 ホストの状態タイプ
| アイコン | 状態 | 説明 |
|---|---|---|
|
| エラー | エラーがホストで検出されています。マウスをエラーアイコン上に置くと、エラーの実際の理由を示すヒントが表示されます。ホストをクリックすると、問題のさらに詳細なレポートを表示できます。 |
|
| 警告 | ホストが設定されていますが、最終レポート期間のホストについてのレポートは収集されていません。 |
|
| OK | ホストについての保留中のアクションがなく、最終レポート期間には保留中の変更やエラーがありません。 |
10.3. ホストの概要
詳細
- 監査: 現在のホストの監査エントリーが含まれるページです。
- ファクト: 現在のホストのファクトの一覧が含まれるページです。このボタンは、インストーラーがホストのファクトを収集した後にのみ選択できます。
- レポート: 現在のホストのレポートの一覧を含むページです。このボタンは、インストーラーがホストのレポートを収集した後にのみ選択できます。
- YAML: ホストの IP アドレス、MAC アドレス、名前、ホストに適用されているパラメーターの値などのホストについての YAML 形式の詳細が記載されたページです。
- プロパティー: ホストの IP アドレス、MAC アドレス、およびホストに適用されているオペレーティングシステムのエントリーなどのホストについての一般的な詳細情報の一覧です。
- メトリック: ホストについてレポートされているすべてのイベントの概要を示す表です。
- テンプレート: ホストが現在アクセスできるすべてのプロビジョニングテンプレートの一覧です。この一覧に含まれるプロビジョニングテンプレートはホストに適用されるオペレーティングシステムのエントリーに基づいて自動的に設定されます。
- NIC: ホストについて設定された NIC の詳細情報を示す表です。
ホストのアクション
- ジョブを実行: ホストでのジョブの実行を許可します。ジョブの実行についての詳細は、12章Satellite ホストでのジョブの実行 を参照してください。
- ブートディスク: ホストのブートディスクを選択できるメニューです。ホストのブート ISO の作成についての詳細は、『Red Hat Satellite Provisioning Guide』 の Creating New Hosts with PXE-less Provisioning を参照してください。
- 編集: ホストの設定を行えるホストの詳細ページを開きます。インストーラーがすべての設定を自動的に行うため、通常は手動の設定が不要となることに注意してください。
- ビルド: 次回のホストの起動時にプロビジョニングされるホストにフラグを設定します。インストーラーがプロビジョニングプロセスのすべての側面を管理するため、通常はホストを手動でプロビジョニングする必要がないことに注意してください。
- 削除: ホストをユーザーインターフェースから削除します。
ホストのグラフ
- ランタイム: 設定の取得 と ランタイム という 2 つのデータポイントを追跡します。設定の取得 データポイントは、所定の Puppet 実行時にホストの情報を収集するためにかかる時間を表し、ランタイム データポイントは、Puppet 実行にかかる時間を表します。これらのデータはどちらも秒単位で測定されます。
- リソース: Puppet 実行時にホストに実行されるアクションの数を追跡します。このグラフに表示されるカテゴリーは レポート ページに表示されるカテゴリーと同一であり、各カテゴリーのアクション数を使用して測定されます。
10.4. ホストの作成
手順10.1 ホストを作成するには、以下を実行します。
- → をクリックします。
- ホスト タブで、必要な詳細を入力します。
- Puppet クラス タブで、組み込む必要のある Puppet クラスを選択します。
- インターフェース タブで、以下のアクションを実行します。
- ドメイン および レルム の詳細を入力します。ホストのプロビジョニングを可能にするためにドメインを指定する必要があります。これにより、サブネット の一覧が適切なサブネットのセレクションで自動的に更新されます。
- 主インターフェース の詳細を入力します。選択したサブネットに DHCP で有効にされた Capsule Server がある場合、IP アドレスが自動的に提案されます。新規の提案 をクリックして異なるアドレスを生成します。
- オプションとして、 をクリックし、追加のネットワークインターフェースを組み込みます。詳細は、「追加のネットワークインターフェースの設定」 を参照してください。
- オペレーティングシステム タブに必要な詳細を入力します。ドロップダウンリストからパーティションテーブルを選択するか、または ディスク (Custom partition table) フィールドにカスタムパーティションテーブルを入力することができます。これら両方を指定することはできません。
- パラメーター タブで、パラメーターの追加 をクリックし、必要なパラメーターを追加します。これには、すべての Puppet クラスパラメーターや、ホストに関連付けられているホストパラメーターが含まれます。
- 追加情報 タブで、ホストについての追加情報を入力します。
- 送信 をクリックしてプロビジョニングリクエストを完了します。
10.5. ホスト登録の設定
前提条件
- ホストは以下の Red Hat Enterprise Linux バージョンを使用している必要があります。
- 5.8 以上 (s390x の場合は 5.7 以上)
- 6.4 以上
- 7.0 以上
- Red Hat Enterprise Linux のすべてのアーキテクチャーがサポートされます (i386、x86_64、s390x、ppc_64)。
- Satellite Server、任意の Capsule Server、およびすべてのホストが同じ NTP サーバーで同期されていることを確認します。
- 時刻同期ツールが Satellite Server、任意の Capsule Server、およびホストで実行されていることを確認します。
- Red Hat Enterprise Linux 6 の場合は、以下を実行してください。
# chkconfig ntpd on; service ntpd start
- Red Hat Enterprise Linux 7 の場合は、以下を実行してください。
# systemctl start chronyd; systemctl enable chronyd
- デーモン
rhsmcertdがホストで実行されていることを確認します。- Red Hat Enterprise Linux 6 の場合は、以下を実行してください。
# service rhsmcertd start
- Red Hat Enterprise Linux 7 の場合は、以下を実行してください。
# systemctl start rhsmcertd
手順10.2 ホストを自動的に設定するには、以下を実行します。
- Satellite Server または Capsule Server の完全修飾ドメイン名 (FQDN) をメモしておきます (例: server.example.com)。
- ホストでターミナルを開き、root でログインします。
- 事前作成のブートストラップ RPM を、ホストが登録される Satellite Server または Capsule Server からインストールします。ブートストラップ RPM はホストのコンテンツソースのロケーションを更新し、ホストが Red Hat Satellite に指定されたコンテンツソースからコンテンツをダウンロードできるようにします。
# rpm -Uvh http://server.example.com/pub/katello-ca-consumer-latest.noarch.rpm
重要
実行中の Docker デーモンが再起動します。注記
katello-ca-consumer-hostname-1.0-1.noarch.rpm は、サーバーのホスト名を含む利用可能な追加の katello-ca-consumer RPM です。一方 katello-ca-consumer-latest.noarch.rpm rpm は常に最新バージョンを反映します。どちらも同じ目的を果たします。
10.6. 登録
10.6.1. ホストの登録
dev-node.example.com という名前のコンテンツホストを検索する場合、検索文字列 dev-node を入力しても結果は返されないため、代わりに dev-node* を使用します。または、*node* を使用しても、コンテンツビュー dev-node.example.com が検索されます。
前提条件
- 「ホスト登録の設定」 のすべての手順を実行します。
- ホスト用にアクティべーションキーがあることを確認します。またはアクティべーションキーを作成します。アクティべーションキーの作成方法については、7章アクティベーションキーの設定 を参照するか、またはコマンド
man subscription-managerを使用して各種のオプションを表示します。 - インストールされている
subscription-managerユーティリティーが 1.10 以上であることを確認します。パッケージは標準の Red Hat Enterprise Linux リポジトリーで利用できます。
手順10.3 ホストを登録するには、以下を実行します。
- ホストでターミナルを開き、root でログインします。
- Red Hat Subscription Manager (RHSM) に関連するすべての古いホストデータをクリアします。
# subscription-manager clean
- RHSM を使用してホストを登録します。
# subscription-manager register --org your_org_name --activationkey your_activation_key
例10.1 登録後のコマンド出力:
# subscription-manager register --org MyOrg --activationkey TestKey-1 The system has been registered with id: 62edc0f8-855b-4184-b1b8-72a9dc793b96
--environment オプションを使用します。たとえば、ホストを「開発」ライフサイクル環境のコンテンツビュー「MyView」に登録するには、以下を実行します。
# subscription-manager register --org your_org_name --environment Development/MyView --activationkey your_activation_key
注記
手順10.4 Red Hat Enterprise Linux 6.3 がリポジトリーを指すように設定するには、以下を実行します。
- Red Hat Satellite で、 → を選択します。
- 変更する必要のあるホストの名前をクリックします。
- コンテンツホストのコンテンツ セクションで、リリースバージョン の右側にある編集アイコンをクリックします。
- ドロップダウンメニューから「6.3」を選択します。
- をクリックします。
10.6.2. Katello エージェントのインストール
goferd サービスを提供する gofer パッケージによって異なります。Red Hat Satellite Server または Capsule Server がコンテンツホストに適用できるエラータについての情報を提供できるように、このサービスを有効にしておく必要があります。
前提条件
Satellite Tools リポジトリーを有効にする必要があります。Red Hat Common リポジトリーは使用されなくなっており、Satellite バージョン 6.1 以上との互換性はありません。
Satellite Tools リポジトリーは必要なパッケージを提供するため、これを有効にし、Red Hat Satellite Server に同期させてホストで利用できるようにする必要があります。
手順10.5 Satellite Tools リポジトリーが有効にされていることを確認するには、以下を実行します。
- Satellite web UI を開き、 → に移動してから RPM タブをクリックします。
- Red Hat Enterprise Linux Server の項目を見つけ、これを拡張します。
- Red Hat Satellite Tools 6.2 (for RHEL バージョン名 Server) (RPMs) の項目を見つけ、これを拡張します。Red Hat Satellite Tools 6.2 の項目が表示されていない場合、それらがカスタマーポータルから取得されるサブスクリプションマニフェストに含まれていないためである可能性があります。これを修正するには、カスタマーポータルにログインしてからこれらのリポジトリーを追加し、サブスクリプションマニフェストをダウンロードして、これを Satellite にインポートします。
- リポジトリーの名前の横にある ENABLED? (有効化) チェックボックスが選択されていることを確認します。選択されてない場合はこれを選択します。
Satellite Tools リポジトリーを有効にします。
手順10.6 Katello エージェントをインストールするには、以下を実行します。
- ホストでターミナルコンソールを開き、
rootユーザーでログインします。 - 以下のコマンドを使って
satellite-toolsリポジトリーが有効にされていることを確認します。# yum repolist enabled | grep -i satellite-tools
satellite-toolsが有効にされていない場合は、以下のコマンドを使ってこれを有効にします。# subscription-manager repos --enable=rhel-version-server-satellite-tools-6.2-rpms
- 以下のコマンドを使って
katello-agentRPM パッケージをインストールします。# yum install katello-agent
goferd サービスが自動的に起動し、有効にされます。
10.6.3. Puppet エージェントのインストールおよび設定
前提条件
Satellite Tools リポジトリーを有効にする必要があります。Red Hat Common リポジトリーは使用されなくなっており、Satellite バージョン 6.1 以上との互換性はありません。
Satellite Tools リポジトリーは必要なパッケージを提供するため、これを有効にし、Red Hat Satellite Server に同期させてホストで利用できるようにする必要があります。
手順10.7 Satellite Tools リポジトリーが有効にされていることを確認するには、以下を実行します。
- Satellite web UI を開き、 → に移動してから RPM タブをクリックします。
- Red Hat Enterprise Linux Server の項目を見つけ、これを拡張します。
- Red Hat Satellite Tools 6.2 (for RHEL バージョン名 Server) (RPMs) の項目を見つけ、これを拡張します。Red Hat Satellite Tools 6.2 の項目が表示されていない場合、それらがカスタマーポータルから取得されるサブスクリプションマニフェストに含まれていないためである可能性があります。これを修正するには、カスタマーポータルにログインしてからこれらのリポジトリーを追加し、サブスクリプションマニフェストをダウンロードして、これを Satellite にインポートします。
- リポジトリーの名前の横にある ENABLED? (有効化) チェックボックスが選択されていることを確認します。選択されてない場合はこれを選択します。
手順10.8 Puppet エージェントをインストールし、有効にするには、以下を実行します。
- ホストでターミナルコンソールを開き、
rootユーザーでログインします。 - 以下のコマンドを使って
satellite-toolsリポジトリーが有効にされていることを確認します。# yum repolist enabled | grep -i satellite-tools
satellite-toolsが有効にされていない場合は、以下のコマンドを使ってこれを有効にします。# subscription-manager repos --enable=rhel-version-server-satellite-tools-6.2-rpms
- 以下のコマンドを使用して Puppet エージェントの RPM パッケージをインストールします。
# yum install puppet
- 起動時に開始する Puppet エージェントを設定します。
- Red Hat Enterprise Linux 6 の場合は、以下を実行します。
# chkconfig puppet on
- Red Hat Enterprise Linux 7 の場合は、以下を実行します。
# systemctl enable puppet
Puppet エージェントを設定する前に、以下の条件を満たしている必要があります。
- ホストを Red Hat Satellite Server に登録しておく必要があります。
- Satellite Tools リポジトリーが有効にされている必要があります。
- Puppet パッケージがホストにインストールされている必要があります。
手順10.9 Puppet エージェントを設定するには、以下を実行します。
/etc/puppet/puppet.confファイルでサーバーおよび環境の設定を指定して、Puppet エージェントを設定します。# vi /etc/puppet/puppet.conf
[main] # The Puppet log directory. # The default value is '$vardir/log'. logdir = /var/log/puppet # Where Puppet PID files are kept. # The default value is '$vardir/run'. rundir = /var/run/puppet # Where SSL certificates are kept. # The default value is '$confdir/ssl'. ssldir = /var/lib/puppet/ssl ... [agent] # The file in which puppetd stores a list of the classes # associated with the retrieved configuratiion. Can be loaded in # the separate ``puppet`` executable using the ``--loadclasses`` # option. # The default value is '$confdir/classes.txt'. classfile = $vardir/classes.txt pluginsync = true report = true ignoreschedules = true daemon = false ca_server = satellite.example.com server = satellite.example.com environment = KT_Example_Org_Library_RHEL6Server_3 # Where puppetd caches the local configuration. An # extension indicating the cache format is added automatically. # The default value is '$confdir/localconfig'. localconfig = $vardir/localconfig ...重要
environmentパラメーターをホストが属する Puppet 環境の名前に設定します。Puppet 環境は、ホストまたはホストグループに関連付けることのできる Puppet モジュールのコレクションです。- ホストの Puppet 環境を検索するには、 → に移動し、ホストの表の 環境 列を調べます。
- Puppet 環境をホストに割り当てるには、 → に移動してから、選択したホストの横にある をクリックします。
- Satellite Server で有効にされた Puppet 環境を一覧表示するには、 → に移動します。さらに Satellite Server の
/etc/puppet/environments/ディレクトリーで、Puppet 環境に関連付けられている Puppet モジュールおよびマニフェストを検索することもできます。
詳細は、Red Hat Satellite Puppet Guide を参照してください。- ホスト上で Puppet エージェントを実行します。
# puppet agent -t --server satellite.example.com
- Satellite Server Web UI を使って Puppet クライアントの SSL 証明書に署名します。
- Web UI から Satellite Server にログインします。
- → を選択します。
- 必要な Capsule の「アクション」ドロップダウンリストから を選択します。
- 必要なホストの右側にある をクリックします。
puppet agentコマンドを再度入力します。# puppet agent -t --server satellite.example.com
注記
10.7. ホストのグループの変更
- → に移動します。
- 変更する必要のあるホストのチェックボックスを選択します。
- 画面右上の アクションの選択 メニューで、グループの変更 を選択します。新規オプションのウィンドウが開きます。
- ホストグループの選択 メニューで、ホストのグループを選択します。
- 送信 をクリックします。
10.8. ホストの環境の変更
- → に移動します。
- 変更する必要のあるホストのチェックボックスを選択します。
- 画面右上の アクションの選択 メニューで、環境の変更 を選択します。新規オプションのウィンドウが開きます。
- 環境の選択 メニューから、ホストの環境を選択します。
- 送信 をクリックします。
10.9. ホストの管理
- → に移動します。
- ホストを選択します。
- 編集 をクリックします。
- ホストの管理 または ホストの管理解除 をクリックしてホストの状態を変更します。
- 送信 をクリックして変更を保存します。
注記
10.10. ホストの特定組織への割り当て
- → に移動します。
- 変更する必要のあるホストのチェックボックスを選択します。
- 画面右上の アクションの選択 メニューで 組織の割り当て を選択します。新規オプションのウィンドウが開きます。
- 組織の選択 メニューに移動し、ホストの組織を選択します。Fix Organization on Mismatch (組織の不一致についての修正) チェックボックスを選択します。
注記
ドメインやサブネットなど、ホストに関連付けられているリソースがある一方で、それらのリソースがホストの割り当て先の組織に割り当てられていない場合、不一致が生じます。オプション Fix Organization on Mismatch (組織の不一致についての修正) により、このようなリソースが組織に追加されるため、このオプションは推奨される選択肢になります。一方、オプション 不一致により失敗 を選択すると、常にエラーメッセージが生成されます。たとえば、ホストのある組織から別の組織への再割り当ては、設定に実際の不一致がない場合でも失敗します。 - 送信 をクリックします。
10.11. ホストの特定ロケーションへの割り当て
- → に移動します。
- 変更する必要のあるホストのチェックボックスを選択します。
- 画面右上の アクションの選択 メニューで ロケーションの割り当て を選択します。新規オプションのウィンドウが開きます。
- ロケーションの選択 メニューに移動し、ホストのロケーションを選択します。Fix Location on Mismatch (ロケーションの不一致についての修正) チェックボックスを選択します。
注記
ドメインやサブネットなど、ホストに関連付けられているリソースがある一方で、それらのリソースがホストの割り当て先の組織に割り当てられていない場合、不一致が生じます。オプション Fix Organization on Mismatch (組織の不一致についての修正) により、このようなリソースが組織に追加されるため、このオプションは推奨される選択肢になります。一方、オプション 不一致により失敗 を選択すると、常にエラーメッセージが生成されます。たとえば、ホストのある組織から別の組織への再割り当ては、設定に実際の不一致がない場合でも失敗します。 - 送信 をクリックしてロケーションのホストへの割り当てを完了します。
10.12. ブートストラップスクリプトによる新規ホストの Satellite 6 への追加
/var/www/html/pub/ ディレクトリーにインストールされ、クライアントで使用できるようにされます。これは、以下の形式の URL を使用してアクセスできます: satellite6.example.com/pub/bootstrap.py
手順10.10 ブートストラップのクライアントへのインストール
rootで、以下のようにスクリプトに適したディレクトリーに切り替えます。たとえば、以下のようになります。#
cd /usr/bin/rootで、スクリプトをダウンロードします。#
これにより、スクリプトが現行ディレクトリーにインストールされます。wget http://satellite6.example.com/pub/bootstrap.py- スクリプトを実行可能にします。
#
chmod +x bootstrap.py - スクリプトが実行できることを確認するには、以下のように使用ステートメントを表示します。
#
./bootstrap.py -h rootディレクトリーに戻り、スクリプトが「./」なしで実行できることを確認します。#
cd#bootstrap.py -h
手順10.11 Red Hat Enterprise Linux 6 システムの移行
- ブートストラップスクリプトは、前述のようにインストールされています。
- ホスト用のアクティベーションキーがあります。アクティべーションキーをセットアップするには、Red Hat ホスト設定ガイド を参照してください。
- ご使用の環境に適した値を使用して、ブートストラップコマンドを以下のように入力します。
-s, --serverオプションについては、Capsule の FQDN 名を指定します。この例では、統合 Capsule が使用されており、URL は Satellite の FQDN です。#
スクリプトは、bootstrap.py --login=admin \--server satellite6.example.com \--location=location_label \--organization=organization_label \--hostgroup=hostgroup_label \--activationkey=activation_key-l, --loginオプションを使用して入力した Satellite ユーザーに対応するパスワードの入力を求めるプロンプトを出します。 - スクリプトが実行され、進捗の通知が
stoutに送信されます。証明書の承認を求めるプロンプトを出す出力を確認します。以下は例になります。[NOTIFICATION], [2016-04-26 10:16:00], [Visit the UI and approve this certificate via Infrastructure->Capsules] [NOTIFICATION], [2016-04-26 10:16:00], [if auto-signing is disabled] [RUNNING], [2016-04-26 10:16:00], [/usr/bin/puppet agent --test --noop --tags no_such_tag --waitforcert 10]
クライアントは、管理者が Puppet 証明書を承認するまで無期限に待機します。- Web UI で、 → に移動します。
-s, --serverで指定された FQDN に対応する Capsule の名前の右側にある を選択します。- 列で を選択し、クライアントの Puppet 証明書を承認します。
- ゲストに戻り、残りのブートストラップ処理が完了するのを確認します。
- Web UI で、 → に移動し、クライアントが適切なホストグループに接続されていることを確認します。
10.13. 追加のネットワークインターフェースの設定
- : 追加の物理または仮想インターフェースを指定できます。2 つのタイプの仮想インターフェースを作成できます。ホストが単一インターフェースで複数の (仮想) ネットワークと通信する必要がある場合は VLAN を使用します。これらのネットワークは相互にアクセスすることはできません。もう 1 つのタイプの仮想インターフェースは alias です。これは既存インターゲースに割り当てられる追加の IP アドレスです。詳細は、「仮想インターフェースの追加」、または 「物理インターフェースの追加」 を参照してください。
- : ボンディングインターフェースを作成します。NIC ボンドは複数のネットワークインターフェースを、単一デバイスとして表示され、単一 MAC アドレスを持つ単一インターフェースにバインディングする方法です。これにより、2 つ以上のネットワークインターフェースが 1 つのインターフェースとして機能し、帯域幅の拡大と冗長性を同時に提供します。詳細は、「ボンディングインターフェースの追加」 を参照してください。
- : ベースボード管理コントローラー (BMC) により、マシンの物理的な状態をリモートで監視し、管理することができます。BMC の詳細は、『Red Hat Satellite Installation Guide』 の Enabling Power Management on Managed Hosts を参照し、 BMC インターフェースの設定についての詳細は、「ベースボード管理コントローラー (BMC) インターフェースの追加」 を参照してください。
注記
/etc/sysconfig/network-scripts/ifcfg-$interface_id に自動的に作成されます。
注記
10.13.1. 物理インターフェースの追加
手順10.12 物理インターフェースを追加するには、以下を実行します。
- → に移動して利用可能なホストを表示します。
- 編集するホストの横にある をクリックします。
- インターフェース タブで、 をクリックします。
- メニューで インターフェース オプションを選択された状態にします。
- 追加インターフェースの MAC address (MAC) を指定します。この設定は必須です。
- eth0 または eth1.1 などのデバイスの 識別子 を指定します。識別子はボンディングインターフェース (割り当て済みデバイス フィールド。詳細は 手順10.14「ボンディングインターフェースを追加するには、以下を実行します。」 を参照してください)、VLAN およびエイリアス (割り当て先 フィールド。手順10.13「仮想インターフェースを追加するには、以下を実行します。」 を参照してください) に使用されます。
- ホストの IP アドレスに関連付けられた DNS 名 を指定します。Satellite はこの名前を選択したドメイン (「DNS A」フィールド) に関連付けられた Capsule Server、および選択したサブネット (「DNS PTR」フィールド) に関連付けられた Capsule Server に保存します。そのため、単一ホストに複数の DNS エントリーを持たせることができます。
- ドメイン ドロップダウンメニューからドメインを選択します。ドメインを作成し、管理するには、 → に移動します。
- サブネット ドロップダウンメニューからサブネットを選択します。サブネットを作成し、管理するには、 → に移動します。
- インターフェースの IP address (IP) を指定します。DHCP Capsule Server が割り当てられた管理対象インターフェースでは、DHCP リースを作成するためにこの設定が必要です。DHCP で有効にされた管理インターフェースでは IP アドレスの自動補完を行います。
- インターフェースを管理するかどうかを決定します。管理 チェックボックスが選択されている場合、インターフェース設定はプロビジョニング時に関連付けられた Capsule Server からプルされ、DNS および DHCP エントリーが作成されます。キックスタートのプロビジョニングを使用している場合、設定ファイルはインターフェース用に自動的に作成されます。
- 仮想 NIC チェックボックスを選択して仮想インターフェースを作成します。詳細は、「仮想インターフェースの追加」 を参照してください。
- をクリックしてインターフェース設定を保存してから、 をクリックして変更をホストに適用します。
10.13.2. 仮想インターフェースの追加
- エイリアスインターフェースは割り当てられているインターフェースから MAC アドレスを自動的に継承します。そのため、MAC アドレスを指定せずにエイリアスを作成することができます。
- インターフェースは、ブートモードが
静的に設定されたサブネットに指定する必要があります。
手順10.13 仮想インターフェースを追加するには、以下を実行します。
- → に移動して利用可能なホストを表示します。
- 編集するホストの横にある をクリックします。
- インターフェース タブで、 をクリックします。
- メニューで インターフェース オプションを選択された状態にします。
- 一般的なインターフェース設定を指定します。適用できる設定オプションは、「物理インターフェースの追加」 で説明されているように物理インターフェースのオプションと同じです。管理対象の仮想インターフェースの MAC アドレス を指定し、プロビジョニング用の設定ファイルが適切に生成されるようにします。ただし、MAC アドレス は管理対象外の仮想インターフェースには不要です。VLAN を作成する場合、識別子 フィールドに eth1.10 の形式で ID を指定します。エイリアスを作成する場合、eth1:10 の形式で ID を使用します。
- 仮想 NIC チェックボックスを選択します。仮想インターフェースに固有の追加の設定オプションがその形式に追加されます。
- タグ: ネットワークのハイレベルのセグメント化を可能にするためにインターフェースごとにタグを指定できます。空白のままにすると、管理対象インターフェースは、このサブネットに VLAN ID が指定されている場合は関連付けられたサブネットの VLAN ID を継承します。このフィールドのユーザー定義のエントリーはエイリアスインターフェースでは適用されません。
- 割り当て先: 仮想インターフェースが属する物理インターフェースの識別子を指定します (例: eth1)。この設定は必須です。
- をクリックしてインターフェース設定を保存してから、 をクリックして変更をホストに適用します。
10.13.3. ボンディングインターフェースの追加
手順10.14 ボンディングインターフェースを追加するには、以下を実行します。
- → に移動して利用可能なホストを表示します。
- 編集するホストの横にある をクリックします。
- インターフェース タブで、 をクリックします。
- メニューから ボンド を選択します。また、タイプ固有の設定オプションがその形式に追加されます。
- 一般的なインターフェース設定を指定します。適用可能な設定オプションは、「物理インターフェースの追加」 に説明されているように物理インターフェースのオプションと同じです。ボンディングインターフェースは、識別子 フィールドの bond0 形式のユーザー ID を使用します。MAC address (Mac) フィールドには単一 MAC アドレスを指定するので十分です。
- ボンディングインターフェースに固有の設定オプションを指定するには、以下を実行します。
- モード: フォールトトレランスおよび負荷分散のポリシーを定義する ボンドモード を選択します。それぞれのボンドモードの簡単な説明については、表10.2「Red Hat Satellite で利用可能なボンディングモード」 を参照してください。
- 割り当て済みデバイス: 割り当てられたデバイスの識別子のコンマ区切りの一覧を指定します。物理インターフェースまたは VLAN を指定できます。
- ボンドオプション: 設定オプションのコンマ区切りの一覧を指定します (例: miimon=100)。ボンディングインターフェースに指定できるいくつかの設定オプションがあります。詳細は、Red Hat Enterprise Linux 7 Networking Guide を参照してください。
- をクリックしてインターフェース設定を保存してから、 をクリックして変更をホストに適用します。
表10.2 Red Hat Satellite で利用可能なボンディングモード
| ボンディングモード | 説明 |
|---|---|
| balance-rr | 送受信は、ボンディングインターフェースで順次行われます。 |
| active-backup | ボンディングインターフェースの中で最初に利用可能になったものから送受信が行われます。アクティブなボンディングインターフェースに障害がある場合に限り別のボンディングインターフェースが使用されます。 |
| balance-xor | 送信は選択されたハッシュポリシーに基づいて行われます。このモードでは、特定のピア用に宛先が指定されたトラフィックは常に同じインターフェースで送信されます。 |
| broadcast | すべての送信はすべてのボンディングインターフェースで行われます。 |
| 802.a3 | 同じ設定を共有するアグリゲーショングループを作成します。アクティブなグループのすべてのインターフェースで送受信が行われます。 |
| balance-tlb | 送信トラフィックが各ボンディングインターフェースの現在の負荷に応じて配分されます。 |
| balance-alb | 受信ロードバランシングは ARP (Address Resolution Protocol) ネゴシエーションにより実現されています。 |
10.13.4. ベースボード管理コントローラー (BMC) インターフェースの追加
次に進む前に、以下の前提条件を満たしていることを確認します。
- BMC は Capsule Server で有効にされている。必要な場合は 手順10.15「既存の Capsule Server で BMC パワー管理を有効にするには、以下を実行します。」 を参照してください。
- ipmitool パッケージがインストールされている。
- ホストの MAC アドレス、IP アドレスおよび BMC インターフェースのその他の詳細、およびこのインターフェースの適切な認証情報を確認している。
注記
BMC インターフェースが管理されている場合は BMC インターフェースの MAC アドレスのみが必要になります。これは DHCP 予約を作成するために必要になります。
手順10.15 既存の Capsule Server で BMC パワー管理を有効にするには、以下を実行します。
- satellite-installer ルーチンを使用し、以下のオプションを指定した以下のコマンドを実行して Capsule Server の BMC パワー管理を設定します。
#satellite-installer --foreman-proxy-bmc=true --foreman-proxy-bmc-default-provider=ipmitool - Capsule Server の機能を更新します。
- Satellite Web UI にログインし、 → に移動します。
- 更新する必要のある機能のある Capsule Sever を特定します。右側のドロップダウンリストで、更新 をクリックします。機能 列にある機能の一覧には BMC が含まれているはずです。
手順10.16 BMC インターフェースを追加するには、以下を実行します。
- → に移動して利用可能なホストを表示します。
- 編集するホストの横にある をクリックします。
- インターフェース タブで、 をクリックします。
- メニューから BMC を選択します。タイプ固有の設定オプションがその形式に追加されます。
- 一般的なインターフェース設定を指定します。適用できる設定オプションは、「物理インターフェースの追加」 で説明されているように物理インターフェースのオプションと同じです。
- BMC インターフェースに固有の設定オプションを指定するには、以下を実行します。
- ユーザー名、パスワード: BMC で必要とされる認証資格情報を指定します。
- プロバイダー: BMC プロバイダーを指定します。
- をクリックしてインターフェース設定を保存してから、 をクリックして変更をホストに適用します。
10.14. ホストの削除
手順10.17 ホストを削除するには、以下を実行します。
- → をクリックするか、または → をクリックします。
- 削除するホストを選択します。
- をクリックして、ドロップダウンメニューから ホストの削除 を選択します。
- 確認のためのポップアップボックスが表示されます。 を選択して Red Hat Satellite からホストを永久に削除します。
警告
手順10.18 仮想マシンをハイパーバイザーから削除せずに Satellite との関連付けを解除するには、以下を実行します。
- Satellite Web UI で、インフラストラクチャー ドロップダウンメニューにマウスを置いて をクリックします。
- 仮想マシンの関連付けを解除するコンピュートリソースを選択します。コンピュートリソースは 名前 というラベルが付けられた列に一覧表示されます。
- 画面の右上にある ボタンを選択します。
第11章 Satellite でのベアメタルホストの検出
Satellite Server (Satellite Server Discovery plug-in) <--> Satellite Capsule (Satellite Capsule Discovery plug-in) <--> Discovered Host (Satellite Discovery image)
- Satellite Server Discovery プラグイン
- これは Satellite Server で実行され、検出されたホストと使用できるように API および UI 機能を提供します。tfm-rubygem-foreman_discovery パッケージにはこのプラグインが含まれます。
- Satellite Capsule Server Discovery プラグイン
- これは、プロビジョニングネットワークで検出されたホストと Satellite Server 間の通信プロキシーです。rubygem-smart_proxy_discovery パッケージにはこのプラグインが含まれます。
- Satellite Discovery イメージ
- これは、Red Hat Enterprise Linux をベースとする最小オペレーティングシステムです。このオペレーティングシステムはホスト上で PXE で起動し、初期のハードウェア情報を取得し、Satellite Server にチェックインするために使用されます。検出されたホストは、Anaconda で再起動するまで Satellite Discovery イメージを実行し続けます。その後にプロビジョニングプロセスを開始します。foreman-discovery-image パッケージにはこのイメージが含まれます。これは TFTP サービスを提供する Satellite Capsule Server にインストールされる必要があります。
11.1. Satellite Discovery プラグインの設定
11.1.1. Satellite Discovery イメージのデプロイ
# yum install foreman-discovery-image
$ rpm -ql foreman-discovery-image /usr/share/foreman-discovery-image /usr/share/foreman-discovery-image/fdi-image-rhel_7-2.1.0-20150212.1.iso
$ find /var/lib/tftpboot/boot /var/lib/tftpboot/boot /var/lib/tftpboot/boot/fdi-image-rhel_7-2.1.0-20150212.1-img /var/lib/tftpboot/boot/fdi-image-rhel_7-2.1.0-20150212.1-vmlinuz /var/lib/tftpboot/boot/fdi-image-rhel_7-img /var/lib/tftpboot/boot/fdi-image-rhel_7-vmlinuz
注記
11.1.2. PXE 起動の設定
- テンプレートの KERNEL および APPEND 行は、foreman-discovery-image パッケージのインストール時に作成されるシンボリックリンクを使用します (「Satellite Discovery イメージのデプロイ」 を参照してください)。URL は
/var/lib/tftpboot/ディレクトリーに相対しています。APPENDパラメーターが単一行に指定されていることを確認します。 proxy.type変数はproxy(推奨) またはforemanのいずれかに設定できます。変数がproxyに設定されている場合、すべての通信は Satellite Capsule Server を経由します。変数がforemanに設定されている場合、Satellite Server に直接通信されます。本章の例では、proxy.typeがproxyに設定されていることを想定しています。proxy.url変数は、proxy.type設定に応じて Satellite Capsule Server または Satellite Server の URL を指定します。HTTPおよびHTTPS設定はどちらもサポートされます。Satellite Capsule Server にアクセスする場合 ((proxy.type=proxy) のデフォルトポートは 9090 で、Satellite Server との直接通信の場合 (proxy.type=foreman) は 80 です 。IPAPPEND 2設定は、プロビジョニングネットワークに接続されたインターフェースを検出します。イメージは、このオプションが削除または変更されている場合には正常に起動しません。
手順11.1 PXE 起動を設定するには、以下を実行します。
- Satellite Web UI で、 → に移動します。
- PXELinux global default テンプレートを編集します。以下のメニューエントリーをテンプレートに追加します。
LABEL discovery MENU LABEL Foreman Discovery MENU DEFAULT KERNEL boot/fdi-image-rhel_7-vmlinuz APPEND initrd=boot/fdi-image-rhel_7-img rootflags=loop root=live:/fdi.iso rootfstype=auto ro rd.live.image acpi=force rd.luks=0 rd.md=0 rd.dm=0 rd.lvm=0 rd.bootif=0 rd.neednet=0 nomodeset proxy.url=https://SATELLITE_CAPSULE_URL:9090 proxy.type=proxy IPAPPEND 2
ONTIMEOUT変数を変更して新規のメニューエントリーがデフォルトになるように設定します。ONTIMEOUT discovery
- プロビジョニングテンプレート ページの上部にある をクリックします。これにより、TFTP プロキシーに
pxelinux.cfg/defaultファイルを再作成するようとの指示が出されます。デフォルトテンプレートが変更されるたびにこの手順を繰り返されるため、変更が TFTP Satellite Capsule Server にデプロイされることを確認できます。
proxy.url 変数を PXE 起動テンプレートから省略することもできます。この場合、Discovery イメージは DNS 設定ファイルで x-foreman.tcp という名前の SRV レコードを検索します。この場合、proxy.url 変数は proxy に設定する必要があります。また、DNS サーバーも適切に設定されている必要があります。たとえば、以下の設定ステートメントは Capsule Server が HTTPS で使用されるように指定します。
_x-foreman._tcp SRV 0 5 9090 capsule
注記
重要
BOOTIF 変数で指定されるインターフェースの場合にのみ考慮に入れられます。BOOTIF は、PXE テンプレートの IPAPPEND 変数で自動的に設定されます。つまり、システムに複数の NIC が設定されている場合、DNS は起動元のインターフェースでのみ機能します。
11.1.3. グローバル Discovery 設定の確認
discovery_organization、discovery_location- これらの変数は、検出されたホストを配置する場所を指定します。デフォルトでは、検出されたホストは最初に作成された組織とロケーションの下に自動的に配置されます。
discovery_fact- この変数は検出されたホストの MAC アドレスを判別するために使用される受信ファクトを指定します。デフォルトでは、PXELinux BOOTIF カーネルコマンドラインのオプションが使用されます。
discovery_auto- この変数は、指定されたルールに基づいて自動的なプロビジョニングを有効にします。デフォルトでは「false」に設定されます。Red Hat では、
discovery_autoを有効にする前に設定を手動のプロビジョニングでテストすることを推奨しています。詳細は、「検出されたホストのプロビジョニング」 を参照してください。 discovery_fact_column- この変数により、検出されたホストの一覧の追加行に Facter がレポートするファクトを追加できます。
11.2. Satellite Capsule Server Discovery プラグインの設定
foreman_url 設定が Satellite Capsule Server 設定ファイルにあることを確認します。設定は以下のように表示されます。
# grep foreman_url /etc/foreman-proxy/settings.yml :foreman_url: https://satellite.example.com
satellite-installer コマンドはこの変数を自動的に設定しますが、Red Hat ではホストが正常に反応し、通信をブロックするファイアウォールのルールがないことを確認することを推奨しています。
11.2.1. Discovery 用サブネットの設定
11.2.2. Discovery プラグインでの Hammer の使用
hammer コマンドを使用するには、以下のように /etc/hammer/cli.modules.d/foreman_discovery.yml で Discovery プラグインを有効にする必要があります。
:foreman_discovery: :enable_module: true
11.2.3. ユーザーの各種パーミッションの確認
Discovery というロールを作成します。このロールを管理者以外のユーザーに割り当て、それらのユーザーが Discovery プラグインを使用できるようにします。または、perform_discovery パーミッションを既存ロールに割り当てることもできます。ロールおよびパーミッションの詳細については、『サーバー管理ガイド』 の ユーザーの作成および管理 を参照してください。
11.3. 検出されたホストのプロビジョニング
11.3.1. ホストの手動プロビジョニング
手順11.2 検出されたホストを手動でプロビジョニングするには、以下を実行します。
- → に移動します。
- プロビジョニングするホストを選択し、 をクリックします。
- ホストの 編集 ページで、必要な詳細を入力し、 をクリックします。
11.3.2. 検出されたホストの使用停止
手順11.3 検出されたホストを使用停止にするには、以下を実行します。
- ホストをシャットダウンします。
- → に移動します。
- 名前 列で、使用停止にするホストを検出し、対応する ドロップダウンメニューから を選択します。
11.3.3. ホストの自動プロビジョニング
手順11.4 プロビジョニングルールを作成するには、以下を実行します。
- → に移動します。
- をクリックします。プロビジョニングルールの以下のパラメーターを指定します。
- 名前 はルールの一覧に表示されるルールの名前です。この名前には、スペースや非英数字を含めることができません。
- 検索 は、特定のルールに検出されたホストを一致させる検索ステートメントです。スコープ指定構文を使用してこれを定義することができます。スコープ指定検索の例については、「スコープ指定の検索構文」 を参照してください。
- ホストグループ は、プロビジョニングプロセスを開始する前に一致するホストに割り当てられるホストグループです。選択したホストグループには必要なパラメーターがすべて設定されていることを確認します。必要なパラメーターにはアスタリスク (*) のマークが付けられます。
- ホスト名 は、人間の判読できるホスト名を一致するホストの割り当てるパターンを定義します。空白のままにされている場合は、ホスト名はデフォルトで「macMACADDRESS」形式で割り当てられます。プロビジョニングテンプレートに使用される構文と同じ構文がこの場合にも使用されます。詳細および例については、「ホスト名のパターン」 を参照してください。
- ホストの制限 はルールに基づくプロビジョニングされるホストの最大数です。制限に達すると、ルールは 1 つ以上のホストが削除されるまで有効になりません。通常のユースケースとして、ホスト名やホストグループなどのプロビジョニングパラメーターをエントリーごとに変更する必要ある場合に、サーバーラックまたは行ごとにルールを使用します。この値をゼロ (0) に設定すると制限なしに設定することができます。
- 優先度 は、ルールの実行順序を指定します。値はゼロ以上である必要があります。値が低いほど優先度が高くなります。2 つのルールの優先度が同じ場合には、最初に検出されるルールが適用されます。
- 有効化 は、ルールを一時的に有効または無効にするオプションを提供します。
- をクリックしてルールを保存します。
discovery_auto 変数を有効にし、指定されたルールに基づいて自動プロビジョニングを行う方法について説明します。
手順11.5 自動プロビジョニングを有効にするには、以下を実行します。
- Satellite Web UI で、 → → に移動します。
- 名前 列で
discovery_autoを見つけ、その値をtrueに設定します。 - をクリックします。
11.3.4. スコープ指定の検索構文
- facts.architecture = x86_64
- facts.bios_vendor ~ 'Dell*'
- facts.macaddress = "aa:bb:cc:dd:ee:ff"
- facts.macaddress_eth0 = "aa:bb:cc:dd:ee:ff"
- facts.ipaddress_eth1 ~ "192.168.*"
- facts.architecture ^ (x86_64,i386)
注記
表11.1 数値比較を可能にするファクト
| 検索パラメーター | 説明 | 使用法の例 |
|---|---|---|
| cpu_count | CPU の数 | cpu_count >= 8 |
| disk_count | 割り当てられたディスクの数 | disk_count < 10 |
| disks_size | ディスク空き容量の合計 (MiB 単位) | disks_size > 1000000 |
11.3.5. ホスト名のパターン
@host 属性のほかに、ランダムな整数の rand() 関数を利用できます。以下は例になります。
- application-server-<%= rand(99999) %>
- load-balancer-<%= @host.facts['bios_vendor'] + '-' + rand(99999) %>
- wwwsrv-<%= @host.hostgroup.name %>
- minion-<%= @host.discovery_rule.name %>
- db-server-<%= @host.ip.gsub('.','-') + '-' + @host.hostgroup.subnet.name %>>
重要
11.3.6. コマンドラインでの Discovery プラグインの使用
hammer コマンドを使用して検出に関連する特定のタスクを実行することができます。hammer -h コマンドを実行して設定を確認します。
$ hammer -h | grep discovery discovery Manipulate discovered hosts. discovery_rule Manipulate discovered rules.
hammer discovery -h コマンドを使用して利用可能なオプションを表示します。たとえば、以下のコマンドを使用して検出されるホストを再起動できます (以下は ID を 130 と想定した場合)。
$ hammer discovery reboot -id 130 Host reboot started
11.4. Discovery イメージの拡張
.
├── autostart.d
│ └── 01_zip.sh
├── bin
│ └── ntpdate
├── facts
│ └── test.rb
└── lib
├── libcrypto.so.1.0.0
└── ruby
└── test.rbautostart.dディレクトリーには、起動時のホストが Satellite に登録される前に、イメージによって POSIX の順序で実行されるスクリプトが含まれています。binディレクトリーは $PATH 変数に追加されます。ここにバイナリーファイルを配置し、これらを autostart スクリプトで使用できます。factsディレクトリーは FACTERLIB 変数に追加され、カスタムファクトを設定して Satellite に送信できるようにします。libディレクトリーは LD_LIBRARY_PATH 変数に追加され、lib/rubyは RUBYLIB 変数に追加され、/binのバイナリーファイルを正常に実行できるようにします。
/opt/extension ディレクトリーに抽出されます。
zip -r my_extension.zip .
fdi.zips オプションで更新します。たとえば、$TFTP/zip1.zip および $TFTP/boot/zip2.zip に 2 つのアーカイブがある場合、以下の構文を使用します。
fdi.zips=zip1.zip,boot/zip2.zip
11.5. Satellite 検出のトラブルシューティング
- デフォルト PXE Linux テンプレートの再デプロイを試行します。
- TFTP Capsule Server で
pxelinux.cfg/default設定ファイルを確認します。 - ホスト、Capsule Server、および Satellite Server 間で適切なネットワーク接続があることを確認します。
- デフォルト PXE Linux テンプレートで
proxy.urlおよびproxy.typeオプションを確認します。 - DNS がそのイメージに対して適切に機能しているか確認するか、またはデフォルト PXE Linux テンプレートの
proxy.urlオプションで IP アドレスを使用します。 - DHCP サーバーが IP アドレスを起動したイメージに適切に送信していることを確認します。
- 検出されたホスト (または仮想マシン) に 500 MB 以上のメモリーがあることを確認します。メモリーがこれより小くなると、イメージがインメモリーで抽出される必要があるために各種のランダムなカーネルパニックのエラーが生じる可能性があります。
discovery-debug コマンドを使用します。これにより、システムログ、ネットワーク設定、ファクトの一覧、および標準出力の他の情報が出力されます。通常のユースケースでは、この出力をリダイレクトし、追加の調査のためにこれを scp コマンドでコピーします。
- discover-host: 初回ファクトのアップロード
- foreman-discovery: ファクトの更新、リモート再起動のコマンド
- nm-prepare: NetworkManager を事前に定義する起動スクリプト
- NetworkManager: ネットワーク情報
fdi.ssh=1 fdi.rootpw=redhat
第12章 Satellite ホストでのジョブの実行
注記
- ソフトウェアパッケージのインストール、更新、または削除
- 設定管理エージェントのブートストラップ
- Puppet、Salt または Chef 実行のトリガー
# satellite-installer --scenario capsule --enable-foreman-proxy-plugin-remote-execution-sshリモート実行が Capsule Server で実行されていることを確認するには、Web UI で → に移動します。Capsule Server は、SSH が実行する 機能 列に一覧表示されるはずです。
12.1. リモートコマンドのセキュアな接続の確立
/etc/foreman-proxy/settings.d/remote_execution_ssh.yml ファイルにあります。それらには以下のオプションが含まれます。
- ssh_identity_file
- SSH キーをロードするファイルです。デフォルトでは
/usr/share/foreman-proxy/.ssh/id_rsa_foreman_proxyに設定されます。 - local_working_dir
- リモート実行に必要なスクリプトを実行するために Satellite または Capsule で使用されるディレクトリーです。デフォルトでは
/var/tmpに設定されます。 - remote_working_dir
- リモート実行ジョブを実行するために使用されるクライアントシステムのディレクトリーです。デフォルトでは、
/var/tmpに設定されます。
注記
noexec が /var/ ボリュームまたはファイルシステムに設定されている場合、remote_working_dir を変更します。そうしないとスクリプトを実行できず、リモート実行ジョブが失敗します。
# chcon --reference=/var new_placeSELinux ラベルの使用についての詳細は、『SELinux User's and Administrator's Guide』 の Maintaining SELinux Labels セクションを参照してください。
リモート実行のための SSH キーの配布
- キーを手動で配布するには、Capsule で以下のコマンドを実行します。
# ssh-copy-id -i ~foreman-proxy/.ssh/id_rsa_foreman_proxy.pub root@target.example.com
ここで、target.example.com はターゲットホストのホスト名です。管理するターゲットホストのそれぞれについてこれを繰り返し実行します。 - Satellite API を使用して公開鍵を Capsule から直接ダウンロードするには、それぞれのターゲットホストに対して以下のコマンドを実行します。
# curl https://myproxy.example.com:9090/ssh/pubkey >> ~/.ssh/authorized_keys
ここで、myproxy.example.com は Capsule のホスト名を表します。 - 公開鍵を新規にプロビジョニングされたホストに組み込むには、以下の行を含めるように Kickstart default finish テンプレートなどを変更します。
<%= snippet 'remote_execution_ssh_keys' %>
12.2. リモートコマンドの設定および実行
12.2.1. ジョブテンプレートのセットアップ
手順12.1 ジョブテンプレートのクローンを作成するには、以下を実行します。
- → に移動します。
- をクリックします。または、アクション 列のドロップダウンメニューで クローン を選択して既存のテンプレートを変更できます。
- ジョブテンプレートを設定します。
- テンプレート タブで、ジョブテンプレートの固有の名前を入力します。デフォルト を選択すると、テンプレートをすべての組織およびロケーションで利用可能にできます。テンプレートエディター を使用してテンプレートを手動で入力することも、 をクリックしてテキストファイルからアップロードすることもできます。テンプレートは Embedded Ruby (ERB) テンプレート構文を使用します。詳細は、「詳細テンプレートの作成」 を参照してください。パワー関連のアクションを実行する場合などには詳細なテンプレートが必要になります。Power Action - SSH Default テンプレートをカスタムテンプレートに組み込む方法については、例12.4「テンプレートにパワー操作を組み込む」 を参照してください。
- Job (ジョブ) タブで、ジョブカテゴリーを定義 (独自のカテゴリーを定義するか、表12.1「デフォルトのジョブテンプレートカテゴリー」 に一覧表示されているデフォルトカテゴリーから選択する) したり、実効ユーザーを定義したりすることができます。これらの設定は、ジョブの起動時にも設定できます (手順12.2「リモートジョブを実行するには、以下を実行します。」 を参照してください)。また、テンプレートコマンドの入力パラメーターを定義できます。これらのパラメーターはジョブの実行時に要求されます。
- 残りのタブでは、テンプレートのタイプ、組織およびロケーションの設定、およびテンプレート履歴の表示を実行できます。
- をクリックします。ページの更新時に、新規のテンプレートがジョブテンプレートの一覧に表示されるはずです。
重要
表12.1 デフォルトのジョブテンプレートカテゴリー
|
ジョブテンプレートのカテゴリー
|
説明
|
|---|---|
| Packages | パッケージ関連のアクションを実行するためのテンプレートです。デフォルトで、インストール、更新、および削除アクションが含まれています。 |
| Puppet | ターゲットホストで Puppet ホストを実行するためのテンプレートです。 |
| Power | パワー関連のアクションを実行するためのテンプレートです。デフォルトで、再起動およびシャットダウンアクションが含まれます。 |
| Commands | リモートホストでカスタムコマンドを実行するためのテンプレートです。 |
| Services | サービス関連のアクションを実行するためのテンプレートです。デフォルトで、開始、停止、再起動、およびステータスアクションが含まれます。 |
| Katello | コンテンツ関連のアクションを実行するためのテンプレートです。これらのテンプレートは主として Satellite Web UI の各種の場所で使用されます (たとえば、コンテンツホストの一括操作のための UI など)が、エラータのインストールなどの各種操作を実行するために個別に使用できます。 |
例12.1 restorecon テンプレートの作成
SELinux コンテキストを復元します。
- → に移動します。 をクリックします。
- 名前 フィールドに Run Command - restorecon を挿入します。デフォルト を選択してテンプレートをすべての組織で利用できるようにします。以下のテキストを テンプレートエディター に追加します。
restorecon -RvF <%= input("directory") %><%= input("directory") %>の文字列は、ジョブの呼び出し時にユーザー定義のディレクトリーに置き換えられます。 - Job (ジョブ) タブで、以下のアクションを実行します。
- ジョブカテゴリー を
Commandsに設定します。 - をクリックして、ジョブのカスタマイズを可能にします。
ディレクトリーを Name (名前) フィールドに挿入します。入力名は テンプレートエディター で指定される値と一致している必要があります。 - Required をクリックし、コマンドがユーザー指定のパラメーターなしでは実行されないようにします。
- Input type ドロップダウンリストから
ユーザー入力を選択します。また、Target directory for restorecon などのようにジョブの呼び出しの際に表示される Description (説明) を指定します。
- をクリックします。
12.2.2. ジョブの実行
手順12.2 リモートジョブを実行するには、以下を実行します。
- → に移動し、ジョブのターゲットホストを選択します。検索フィールドを使用してホストの一覧の範囲を制限することができます。
- 画面右上の アクションを選択 メニューから ジョブを実行 を選択します。これにより、ジョブ呼び出し ページに移動します。または、ターゲットが 1 つのホストのみである場合、その名前をクリックし、ホスト情報ページで をクリックします。 ボタンを使用して ジョブテンプレート ページからジョブを起動することもできます。
- ジョブ呼び出し ページで、主なジョブ設定を定義します。
- 使用する ジョブカテゴリー および ジョブテンプレート を選択します。これらの設定は必須です。
- オプションとして、ブックマーク の一覧で保存された検索文字列を選択してターゲットホストを指定します。
- オプションとして、Search query を入力し、ターゲットホストの範囲をさらに狭めることができます。解決 行には、クエリーの影響を受けるホストの数が表示されます。更新ボタンを押して、クエリーの変更後の数の再計算を実行します。プレビューアイコンにはターゲットホストが一覧表示されます。
- 残りの設定は、選択したジョブテンプレートによって異なります。カスタムパラメーターをテンプレートに追加する方法については、手順12.1「ジョブテンプレートのクローンを作成するには、以下を実行します。」 を参照してください。
- オプションとして、詳細フィールドを表示 をクリックします。一部の詳細設定はジョブテンプレートによって異なります。以下は一般的な設定です。
- 実効ユーザー: ジョブを実行するためにユーザーを定義します。デフォルトは SSH ユーザーです。
- 同時実行レベル: 1 度に実行されるジョブの最大数を定義します。タイムスパン では、定義された期間にジョブの実行を分散できます。これらの設定は、インフラストラクチャー上での大規模なジョブ実行の負荷分散に役立ちます。
- クエリーのタイプ: 検索クエリーが評価される時を定義します。これは、クエリーをスケジュールされるタスクに対して常に最新の状態に保つのに役立ちます。
- ジョブをすぐに実行する場合は、スケジュール が
今すぐ実行に設定されていることを確認します。さらに 1 回限りの将来のジョブを定義したり、再帰的に実行されるジョブをセットアップすることもできます。再帰的に実行されるジョブについては、開始日と終了日、実行の回数と頻度を定義することができます。また cron 構文を施与うして繰り返しを定義することもできます。 - をクリックします。これにより、Job Overview (概要) ページが表示され、ジョブの完了時にはジョブのステータスも表示されます。
例12.2 複数のホストでの restorecon テンプレートの実行
/home/ ディレクトリーの下にあるすべてのファイルで SELinux コンテキストを復元します。
- → に移動し、ターゲットホストを選択します。アクションの選択 ドロップダウンリストから ジョブを実行 を選択します。
- ジョブ呼び出し ページで、
Commandsジョブカテゴリーを選択し、Run Command - restoreconジョブテンプレートを選択します。 - directory フィールドに
/homeを入力します。 - スケジュール を
今すぐ実行に設定します。 - をクリックします。ジョブ呼び出し ページに移動します。ここでジョブ実行のステータスを監視できます。
12.2.3. ジョブの監視
手順12.3 ジョブを監視するには、以下を実行します。
- ジョブのページに移動します。このページは、
今すぐ実行が設定されているジョブをトリガーすると自動的に表示されます。スケジュールされたジョブを監視するには、 → に移動して、検査するジョブ実行を選択します。 - 「ジョブ」ページで ホスト タブをクリックします。これにより、ジョブが実行されているホストの一覧が表示されます。
- ホスト 列で、検査するホストの名前をクリックします。これにより、ジョブの実行をリアルタイムでモニターできる Detail of Commands (コマンドの詳細) ページが表示されます。
- いつでも をクリックして Job Details (ジョブの詳細) ページに戻ることができます。
12.2.4. 詳細テンプレートの作成
httpd サービスを Red Hat Enterprise Linux システムにインストールし、これを起動できます。
<%= render_template 'Package Action - SSH Default', :action => 'install', :package => 'httpd' %> <%= render_template 'Service Action - SSH Default', :action => 'start', :service_name => 'httpd' %>
input() メソッドを使用することもできます。たとえば、以下の構文を使用できます。
<%= render_template 'Package Action - SSH Default', :action => 'install', :package => input("package") %> 例12.3 restorecon テンプレートのレンダリング
/home/ ディレクトリー下のすべてのファイルで SELinux コンテキストを復元します。
<%= render_template("Run Command - restorecon", :directory => "/home") %>例12.4 テンプレートにパワー操作を組み込む
<%= render_template("Power Action - SSH Default", :action => "restart") %>12.3. グローバル設定
表12.2 リモート実行用のグローバル設定
|
パラメーター名
|
説明
|
|---|---|
|
remote_execution_effective_user
|
これは、任意のジョブについてのデフォルトの有効ユーザーです。ジョブが実行される際に、プロセスの有効ユーザーはそれに応じて変更されます (sudo による変更など)。このオプションはジョブテンプレートおよびジョブ呼び出し別にオーバーライドできます。
|
|
remote_execution_effective_user_method
|
ターゲットホストで有効ユーザーを設定するために使用するメソッドを指定します。現時点で su および sudo がサポートされています。
|
|
remote_execution_fallback_proxy
|
ホストでリモート実行が設定された Capsule を検索します。これはホストがサブネットではないか、またはサブネットにリモート実行が有効にされた Capsule がない場合に役立ちます。
|
|
remote_execution_global_proxy
|
ホストに割り当てられた Capsule 外にあるリモート実行 Capsule を検索します。ロケーションまたは組織が有効にされている場合、検索はホストの組織またはロケーションに限定されます。
|
|
remote_execution_ssh_user
|
Capsule が SSH でターゲットに接続される際に使用されるデフォルトユーザーです。
remote_execution_ssh_user 変数を設定し、これをホスト別にオーバーライドできます。
この設定は、ホスト、ホストグループ、オペレーティングシステム、ドメイン、ロケーションまたは組織別に実行できます。さらに、
remote_execution_effective_user とは異なるユーザーを指定することもできます。
|
| remote_execution_sync_templates | データベースのシード処理時にジョブテンプレートをディスクと同期させるかどうかを定義します。 |
重要
/etc/foreman/settings.yaml 設定ファイルでグローバルパラメーターを設定できますが、このファイルに追加する手動の変更は次回の satellite-installer 実行時に上書きされます。そのため、Red Hat では、これらのパラメーターを web UI で変更することを推奨します。または、コンソールから foreman-rake config コマンドを使用することができます。
12.3.1. リモート実行用の Capsule の選択
remote_execution_global_proxy 変数を false に設定すると、この動作を無効にできます。これは、ネットワークの分離のためにすべての Capsule を使用できない場合などのより複雑な環境で必要になる場合があります。この設定では、Capsule のプールを各サブネットに割り当て、ジョブの負荷はそれらの間で分散されます。
remote_execution_fallback_proxy 変数を true に設定してフォールバックモードを有効にできます。この設定では、Capsule でもリモート実行が設定されている場合に、リモート実行に Puppet マスターなどのホストに関連付けられた Capsule が使用されます。
12.4. リモート実行用のパーミッションの委任
- Remote Execution Manager (リモート実行マネージャー): このロールは、すべてのリモート実行機能および機能性へのアクセスを許可します。
- Remote Execution User (リモート実行ユーザー): このロールは、ジョブの実行のみを許可します。ジョブテンプレートを変更するパーミッションは提供されません。
view_job_templates パーミッションでフィルターを調整する場合、ユーザーは一致するジョブテンプレートに基づいてジョブを確認し、トリガーすることのみが可能です。view_hosts および view_smart_proxies パーミッションを使用すると、ロールに表示されるホストまたは Capsule を制限できます。
execute_template_invocation パーミッションはジョブの実行が開始される直前にチェックされる特殊なパーミッションです。このパーミッションは、特定のホストで実行できるジョブテンプレートを定義します。これにより、パーミッションの指定時に詳細度をさらに高めることができます。ロールおよびパーミッションの使用についての詳細は、『Server Administration Guide』 のCreating and Managing Roles を参照してください。
execute_template_invocation パーミッションのフィルターを示しています。
name = Reboot and host.name = staging.example.com name = Reboot and host.name ~ *.staging.example.com name = "Restart service" and host_group.name = webservers
注記
第13章 ホストコレクションの設定
- ホストのコレクションへの追加。
- パッケージやエラータ、またはパッケージグループをホストコレクションの全ホストメンバーに一括インストール。
- 特定のパッケージやエラータ、または特定のパッケージグループの全ホストメンバーへの更新。
13.1. ホストコレクションの作成
手順13.1 ホストコレクションを作成するには、以下を実行します。
- → をクリックします。
- をクリックします。
- ホストコレクションの名前と説明を追加します。
- のチェックを外し、グループに許可されるホストの最大数を指定します。または、無制限のホストがホストコレクションに加わるのを許可する場合はこのボタンのチェックを付けたままにします。
- をクリックします。
13.2. ホストのホストコレクションへの追加
前提条件
手順13.2 ホストをホストコレクションに追加するには、以下を実行します。
- → をクリックします。
- ホストの追加先となるホストコレクションをクリックします。
- タブの 追加 サブタブを選択します。
- テーブルから追加するホストを選択してから、 をクリックします。
13.3. コンテンツのホストコレクションへの追加
13.3.1. パッケージのホストコレクションへの追加|
前提条件
- 追加するコンテンツが既存リポジトリーのいずれかで利用可能であるか、またはリポジトリーにない場合は、この手順を開始する前にリポジトリーに追加しておく必要があります。
- コンテンツはホストの割り当てられる環境にプロモートする必要があります。
手順13.3 パッケージをホストコレクションに追加するには、以下を実行します。
- → をクリックします。
- パッケージの追加先となるホストコレクションをクリックします。
- タブで、 をクリックします。
- すべてのパッケージを更新するには、 ボタンをクリックしてデフォルトメソッドを使用します。または、ボタン右側のドロップダウンアイコンを選択して使用するメソッドを選択します。 メニューエントリーを選択すると、ジョブ呼び出し ページに移動します。ここでアクションをカスタマイズすることができます。
- 必要に応じて パッケージ または パッケージグループ ラジオボタンを選択します。
- パッケージまたはパッケージグループの名前をフィールドに指定してから、以下のいずれかをクリックします。
- — デフォルトメソッドを使用して新規パッケージをインストールします。または、ボタンの右側にあるドロップダウンアイコンを選択して使用するメソッドを選択します。 メニューエントリーを選択すると、ジョブ呼び出し ページに移動します。ここでアクションをカスタマイズすることができます。
- — デフォルトメソッドを使用してホストコレクションの既存パッケージを更新します。または、ボタン右側のドロップダウンアイコンを選択して使用するメソッドを選択します。 メニューエントリーを選択すると、ジョブ呼び出し ページに移動します。ここで、アクションをカスタマイズすることができます。
13.3.2. エラータのホストコレクションへの追加
前提条件
- 追加するエラータは既存リポジトリーのいずれかで利用可能であるか、またはリポジトリーにない場合は、この手順を開始する前にリポジトリーに追加しておく必要があります。
- エラータはホストの割り当てられる環境にプロモートする必要があります。
手順13.4 エラータをホストコレクションに追加するには、以下を実行します。
- → をクリックします。
- エラータの追加先となるホストコレクションを選択します。
- タブで、 をクリックします。
- ホストコレクションに追加するエラータを選択し、 ボタンをクリックしてデフォルトのメソッドを使用します。または、ボタン右側のドロップダウンアイコンを選択して使用するメソッドを選択します。 メニューエントリーを選択すると、ジョブ呼び出し ページに移動します。ここでアクションをカスタマイズすることができます。
13.4. ホストコレクションからのコンテンツの削除
手順13.5 コンテンツをホストコレクションから削除するには、以下を実行します。
- → をクリックします。
- パッケージを削除するホストコレクションをクリックします。
- タブで、 をクリックします。
- 必要に応じて パッケージ または パッケージグループ ラジオボタンを選択します。
- パッケージまたはパッケージグループの名前をフィールドに指定します。
- ボタンをクリックし、デフォルトメソッドを使用してパッケージまたはパッケージグループを削除します。または、ボタン右側にあるドロップダウンアイコンを選択して使用するメソッドを選択します。 メニューエントリーを選択すると、ジョブの呼び出し ページに移動します。ここでアクションをカスタマイズすることができます。
13.5. ホストコレクションのライフサイクル環境またはコンテンツビューの変更
手順13.6 ホストコレクションのライフサイクル環境またはコンテンツビューを変更するには、以下を実行します。
- → をクリックします。
- ライフサイクル環境またはコンテンツビューを変更する必要のあるホストコレクションを選択します。
- タブで、割り当て済みのライフサイクル環境またはコンテンツビューの変更 をクリックします。
- ホストコレクションに割り当てるライフサイクル環境を選択します。
- 必要なコンテンツビューをドロップダウンリストから選択します。
- をクリックします。
13.6. ホストコレクションからのホストの削除
手順13.7 ホストをホストコレクションから削除するには、以下を実行します。
- → をクリックします。
- 必要なホストコレクションを選択します。
- タブで、一覧/削除 サブタブを選択します。
- ホストコレクションから削除するホストを選択し、 をクリックします。
13.7. ホストコレクションの削除
手順13.8 ホストコレクションを削除するには、以下を実行します。
- → をクリックします。
- 削除するホストコレクションを選択します。
- ボタンをクリックします。警告ボックスが表示されます。
ホストコレクション ホストコレクション名 を削除してもよろしいですか?
- をクリックします。
13.8. ホストコレクションのクローン作成
手順13.9 ホストコレクションのクローンを作成するには、以下を実行します。
- → をクリックします。
- 左側のパネルで、クローン作成するホストコレクションをクリックします。
- をクリックします。
- クローン作成されたコレクションの名前を指定します。
- をクリックします。
13.9. ホストコレクションの詳細の確認
手順13.10 ホストコレクションの詳細を確認するには、以下を実行します。
- → をクリックします。
- 確認するホストコレクションを選択し、詳細 タブに移動します。
付録A テンプレート作成の参照
A.1. ERB テンプレートの作成
- <% %>: Ruby コードを ERB テンプレート内で囲むマークです。コードはテンプレートのレンダリング時に実行されます。これには Ruby の制御フロー構造および Satellite 固有の関数および機能を含めることができます。たとえば、以下のようになります。
<% if @host.operatingsystem.family == "Redhat" && @host.operatingsystem.major.to_i > 6 %> systemctl <%= input("action") %> <%= input("service") %> <% else %> service <%= input("service") %> <%= input("action") %> <% end -%> - <%= %>: コード出力はテンプレートに挿入されます。これは変数の置き換えに便利です。たとえば、以下のようになります。
echo <%= @host.name %>
- <% -%>, <%= -%>: デフォルトで改行文字は、行末で閉じられている場合に Ruby ブロックの後に挿入されます。この動作を抑制するには、囲みマークを変更します。以下のテンプレートは例になります。
curl <%= @host.ip -%> /mydir
上記のテンプレートは以下のようにレンダリングされます。curl <%= @host.ip %>/mydir
これはレンダリングされるテンプレートの行数を減らすために使用されます (Ruby 構文で許可される場合)。 - <%# %>: テンプレートのレンダリング時に無視されるコメントを囲むマークです。
<%# A comment %>
A.2. ERB テンプレートのトラブルシューティング
- テンプレートエディターによる直接的な方法: テンプレートの編集時に ( → 、 → 、または → )、テンプレート タブで をクリックしてからドロップダウンメニューでホストを選択します。次にテンプレートは選択したホストのパラメーターを使用してテキストフィールドにレンダリングされます。プレビューが失敗した場合は、そこからテンプレートの問題を特定することができます。
- ホストの詳細ページを使用する方法: → でホストを選択し、テンプレート タブをクリックしてホストに関連付けられたテンプレートを一覧表示します。選択したテンプレートの横にあるドロップダウンメニューから 確認 を選択し、そのレンダリングされたバージョンを表示します。
A.3. Satellite 固有の関数および変数
表A.1 汎用的な関数
| 名前 | 説明 |
|---|---|
| indent(n) | コードブロックを n スペース分インデントします。インデントされていないスニペットテンプレートの使用時に便利です。 |
| foreman_url(kind) | 完全な URL を、ホストでレンダリングされた指定タイプのテンプレートに返します。たとえば、「provision」タイプのテンプレートは通常 http://HOST/unattended/provision にあります。 |
| snippet(name) | 指定されたスニペットテンプレートをレンダリングします。プロビジョニングテンプレートをネスト化するのに便利です。 |
| snippets(file) | Foreman データベースの指定されたスニペットをレンダリングし、データベースにない場合は unattended/snippets/ ディレクトリーからこれをロードします。 |
| snippet_if_exists(name) | 指定されたスニペットをレンダリングし、指定された名前を持つスニペットが見つからない場合は省略します。 |
例A.1 スニペットおよびインデント関数の使用
<%= indent 4 do snippet 'subscription_manager_registration' end %>
表A.2 ジョブテンプレート固有の関数
| 名前 | 説明 |
|---|---|
| input(input_name) | ジョブ実行時に指定された入力の値を返します。 |
| render_template(name, parameters) | 汎用的な snippet() 関数と同様に指定されたテンプレートを返しますが、引数をテンプレートに渡すことができます。 |
表A.3 ホスト固有の変数および関数
| 名前 | 説明 |
|---|---|
| @host.architecture | ホストのアーキテクチャーです。 |
| @host.bond_interfaces | すべてのボンディングインターフェースのアレイを返します。注記 を参照してください。 |
| @host.capabilities | システムプロビジョニングの方法には、ビルド (キックスタートなど) またはイメージのいずれかを使用できます。 |
| @host.certname | ホストの SSL 証明書名です。 |
| @host.diskLayout | ホストのディスクレイアウトです。オペレーティングシステムから継承できます。 |
| @host.domain | ホストのドメインです。 |
| @host.environment | ホストの Puppet 環境です。 |
| @host.facts | Facter からファクトの Ruby ハッシュを返します。たとえば、出力の 'ipaddress' ファクトにアクセスするには、@host.facts['ipaddress'] を指定します。 |
| @host.grub_pass | ホストの GRUB パスワードを返します。 |
| @host.hostgroup | ホストのホストグループです。 |
| @host.info['parameters'] | ホストパラメーターについての情報が含まれる Ruby ハッシュを返します。たとえば、@host.info['parameters']['lifecycle_environment'] を使用してホストのライフサイクル環境を取得します。 |
| @host.image_build? | ホストがイメージを使用してプロビジョニングされる場合は true を返します。 |
| @host.interfaces | プライマリーインターフェースを含む利用可能なすべてのホストインターフェースのアレイが含まれます。注記 を参照してください。 |
| @host.interfaces_with_identifier('IDs') | 指定された ID を持つインターフェースのアレイを返します。複数の ID のアレイを入力として渡すことができます (例: @host.interfaces_with_identifier(['eth0', 'eth1']))。注記 を参照してください。 |
| @host.ip | ホストの IP アドレスです。 |
| @host.location | ホストの位置です。 |
| @host.mac | ホストの MAC アドレスです。 |
| @host.managed_interfaces | 管理対象インターフェースのアレイを返します (BMC およびボンディングインターフェースを除く)。注記 を参照してください。 |
| @host.medium | 割り当てられたオペレーティングシステムのインストールメディアです。 |
| @host.name | ホストの完全名です。 |
| @host.operatingsystem.family | オペレーティングシステムファミリーです。 |
| @host.operatingsystem.major | 割り当てられたオペレーティングシステムのメジャーバージョンの番号です。 |
| @host.operatingsystem.minor | 割り当てられたオペレーティングシステムのマイナーバージョンの番号です。 |
| @host.operatingsystem.name | 割り当てられたオペレーティングシステムの名前です。 |
| @host.operatingsystem.boot_files_uri(@host.medium,@host.architecture) | カーネルおよび initrd への完全パスで、アレイを返します。 |
| @host.os.medium_uri(@host) | プロビジョニングに使用される URI です (インストールメディアに設定されるパス)。 |
| @host.param_false?(name) | 指定された名前のホストパラメーターが false と評価される場合に false を返します。 |
| @host.param_true?(name) | 指定された名前のホストが true と評価される場合に true を返します。 |
| @host.params['parameter_name'] | 指定されたパラメーターの値を返します。 |
| @host.primary_interface | ホストのプライマリーインスタンスを返します。 |
| @host.provider | コンピュートリソースプロバイダーです。 |
| @host.provision_interface | ホストのプロビジョニングインターフェースを返します。インターフェースオブジェクトを返します。 |
| @host.ptable | パーティションテーブル名です。 |
| @host.puppetmaster | ホストが使用する必要のある Puppet マスターです。 |
| @host.pxe_build? | ホストがネットワークまたは PXE を使用してプロビジョニングされる場合に true を返します。 |
| @host.shortname | ホストの省略名です。 |
| @host.sp_ip | BMC インターフェースの IP アドレスです。 |
| @host.sp_mac | BMC インターフェースの MAC アドレスです。 |
| @host.sp_name | BMC インターフェースの名前です。 |
| @host.sp_subnet | BMC ネットワークのサブネットです。 |
| @host.subnet.dhcp | DHCP プロキシーがこのホストに設定されている場合は true を返します。 |
| @host.subnet.dns_primary | ホストのプライマリー DNS サーバーです。 |
| @host.subnet.dns_secondary | ホストのセカンダリー DNS サーバーです。 |
| @host.subnet.gateway | ホストのゲートウェイです。 |
| @host.subnet.mask | ホストのサブネットマスクです。 |
| @host.url_for_boot(:initrd) | このホストに関連付けられる initrd イメージへの完全パスです。変数を補間しないので推奨されません。 |
| @host.url_for_boot(:kernel) | このホストに関連付けられたカーネルへの完全パスです。変数を補間しないので推奨されません。boot_files_uri が優先されます。 |
| @provisioning_type | プロビジョニングのタイプに応じて「host」または「hostgroup」と等しくなります。 |
| @static | ネットワーク設定が静的な場合、true を返します。 |
| @template_name | レンダリングされるテンプレートの名前です。 |
| grub_pass | md5pass 引数でラップされる GRUP パスワードを返します (例: --md5pass=#{@host.grub_pass})。 |
| ks_console | ポートを使用して組み立てられる文字列およびカーネル行に追加できるボーレートを返します (例: console=ttyS1,9600)。 |
| root_pass | システムに設定される root パスワードを返します。 |
注記
@host.interfaces または @host.bond_interfaces などのネットワークインターフェースに関連するホスト変数は、アレイで分類されるインターフェースデータを返します。特定インターフェースのパラメーター値を抽出するには、Ruby メソッドを使用してアレイを解析します。たとえば、アレイの最初のインスタンスについての情報を取得し、これをキックスタートテンプレートで使用するには、以下を実行します。
<% myinterface = @host.interfaces.first %> IPADDR="<%= myinterface.ip %>" NETMASK="<%= myinterface.subnet.mask %>" GATEWAY="<%= myinterface.subnet.gateway %>"
<% ifnames = [] @host.interfaces.each do |i| ifnames.push(i.name) end %>
例A.2 ホスト固有変数の使用
<%
pm_set = @host.puppetmaster.empty? ? false : true
puppet_enabled = pm_set || @host.param_true?('force-puppet')
puppetlabs_enabled = @host.param_true?('enable-puppetlabs-repo')
%><% os_major = @host.operatingsystem.major.to_i os_minor = @host.operatingsystem.minor.to_i %> <% if ((os_minor < 2) && (os_major < 14)) -%> ... <% end -%>
<% subnet = @host.subnet %> <% if subnet.respond_to?(:dhcp_boot_mode?) -%> <%= snippet 'kickstart_networking_setup' %> <% end -%>
<% @host.ip.split('.').last %>表A.4 キックスタート固有の変数
| 名前 | 説明 |
|---|---|
| @arch | ホストのアーキテクチャー名です。@host.architecture.name と同じです。 |
| @dynamic | 使用されているパーティションテーブルが %pre スクリプト (表の最初の行に #Dynamic オプションがある) の場合 true を返します。 |
| @epel | epel-release rpm の正しいバージョンを自動インストールするコマンドです。%post スクリプトで使用されます。 |
| @mediapath | URL コマンドを提供する詳細なキックスタート行です。 |
| @osver | オペレーティングシステムのメジャーバージョンの番号です。@host.operatingsystem.major と同じです。 |
