第3章 プロビジョニングリソースの設定
Red Hat Satellite 6 は、新規ホストの作成に役立つ一連のプロビジョニングリソースを提供します。このセクションでは、これらのリソースのいくつかや、それらのリソースがホストのプロビジョニングにどのように役立つかについて説明します。
サポートされるアーキテクチャー
PXE、検出およびブートディスクを使用したプロビジョニングについてサポートされるのは Intel x86_64 アーキテクチャーのみです。詳細は、Red Hat ナレッジベースソリューション Architectures Supported for Satellite 6 Provisioning を参照してください。
3.1. インストールメディアの作成
インストールメディアは、Satellite Server がベースオペレーティングシステムをマシンにインストールするために使用するファイルのソースです。インストールメディアは、オペレーティングシステムのインストールツリーの形式で提供され、インストーラーをホストするマシンから HTTP URL 経由でアクセスできる必要があります。利用可能なインストールメディアは ホスト > インストールメディア メニューに表示されます。
Red Hat の CDN からキックスタートツリーをインポートすると、インストールメディア ページに新規エントリーが作成されます。このプロセスは、『Red Hat Satellite 6 コンテンツ管理ガイド』の「同期する Red Hat リポジトリーの選択」セクションで説明されています。リポジトリーからの同期済みインストールメディアの場合、これを手動で定義する必要はありません。インストールメディアは、ホストまたはホストグループの作成時に オペレーティングシステム タブの 同期したコンテンツ で利用できます。
ローカルにマウントされた ISO イメージなどの他のインストールメディアの場合、ユーザーは以下の手順を使用して独自のカスタムメディアパスを追加することができます。
Web UI を使用する場合
ホスト > インストールメディア に移動して 新規メディア をクリックします。UI には、インストールメディアの詳細を入力できる一連のフィールドがあります。
- 名前: ユーザーインターフェースのインストールメディアのエントリーを表す名前。
パス: インストールツリーを含む URL または NFS 共有。複数の異なるシステムアーキテクチャーおよびバージョンを表すために以下の変数をパスで使用できます。
-
$arch
: システムアーキテクチャー (例: x86_64) -
$version
: オペレーティングシステムのバージョン (例: 7.2) -
$major
: オペレーティングシステムのメジャーバージョン (例: 7) $minor
: オペレーティングシステムのマイナーバージョン (例: 2)HTTP パスの例:
http://download.example.com/rhel/$version/Server/$arch/os/
NFS パスの例:
nfs://download.example.com:/rhel/$version/Server/$arch/os/
注記Capsule Server の同期したコンテンツは HTTP パスを常に使用します。Capsule Server で管理されたコンテンツは NFS パスをサポートしません。
-
-
オペレーティングシステムの種類: メディアのディストリビューションまたはファミリー。たとえば、Red Hat Enterprise Linux、CentOS、および Fedora は
Red Hat
ファミリーに属します。
Satellite Server はインストールメディアを現在のプロビジョニングコンテキストに追加します。追加のコンテキストは、組織 および ロケーション タブで選択できます。
送信 をクリックしてインストールメディアを保存します。
CLI を使用する場合
hammer medium create
コマンドを使用してインストールメディアを作成します。
# hammer medium create --name "CustomOS" --os-family "Redhat" --path 'http://download.example.com/rhel/$version/Server/$arch/os/' --organizations "ACME" --locations "New York"
3.2. パーティションテーブルの作成
パーティションテーブルは、Satellite Server が新規ホストで利用可能なディスクを設定する方法を定義する一連のディレクティブです。Red Hat Satellite 6 には、Kickstart default
などの、使用するデフォルトのパーティションテーブルのセットが含まれます。またパーティションテーブルのエントリーを編集すると、必要なパーティション設定スキームを設定したり、新規パーティションテーブルのエントリーを作成したり、そのエントリーを Red Hat Enterprise Linux オペレーティングシステムのエントリーに指定したりできます。
Web UI を使用する場合
ホスト > パーティションテーブル に移動し、新規パーティションテーブル をクリックします。UI にはパーティションテーブルの詳細を入力できる一連のフィールドがあります。
- 名前: パーティションテーブルを表す名前。
- デフォルト: テンプレートが新規の組織またはロケーションに自動的に関連付けられるかどうかを定義します。
- スニペット: テンプレートが他のパーティションテーブルレイアウトの再利用可能なスニペットかどうかを定義します。
-
オペレーティングシステムの種類: パーティションレイアウトのディストリビューションまたはファミリー。たとえば、Red Hat Enterprise Linux、CentOS、および Fedora は
Red Hat
ファミリーに属します。 テンプレートエディター: ディスクパーティションのレイアウトを入力するテキスト領域。以下は例になります。
zerombr clearpart --all --initlabel autopart
テンプレート ファイルブラウザーを使用してテンプレートファイルをアップロードすることもできます。
注記レイアウトのフォーマットは、オペレーティングシステムのフォーマットと一致する必要があります。Red Hat Enterprise Linux 7.2 にはキックスタートファイルに一致するレイアウトが必要です。
- 監査コメント: パーティションレイアウトへの変更の概要フィールド。
Satellite はパーティションテーブルを現在のプロビジョニングコンテキストに追加します。組織 および ロケーション タブから追加のコンテキストを選択できます。
送信 をクリックしてパーティションテーブルを保存します。
CLI を使用する場合
CLI を使用してパーティションテーブルを作成する前に、パーティションレイアウトが含まれるテキスト形式のファイルを作成します。この例では ~/my-partition
ファイルを使用します。hammer partition-table create
コマンドを使用してインストールメディアを作成します。
# hammer partition-table create --name "My Partition" --snippet false --os-family Redhat --file ~/my-partition --organizations "ACME" --locations "New York"
3.3. プロビジョニングテンプレートの作成
プロビジョニングテンプレートは、Satellite Server がホストにオペレーティングシステムをインストールする方法を定義します。プロビジョニングテンプレートには、以下を含むさまざまなタイプがあります。
-
provision
: プロビジョニングプロセスを定義する主なテンプレート (例: キックスタートテンプレート)。キックスタートテンプレートの構文についての詳細は、Red Hat Enterprise Linux 7 インストールガイド の 「キックスタート構文の参考資料」を参照してください。 -
PXELinux
、iPXE
、PXEGrub
: PXE ベースのネットワークの起動テンプレート。 -
finish
: 主要なプロビジョニングプロセスの完了後の設定後スクリプト。これは SSH タスクとして実行されます。 -
Bootdisk
: PXE を使用しないブート方法のためのテンプレート。 -
kexec
: PXE を使用しないブート方法のためのカーネル実行テンプレート。 -
user_data
:cloud-init
スクリプトなどのユーザーデータを受け入れるプロバイダー用の設定後スクリプト。 -
script
: デフォルトで使用されないが、カスタムタスクに役立つ任意のスクリプト。 -
ZTP
: Zero Touch Provisioning テンプレート。 -
POAP
: PowerOn Auto Provisioning テンプレート。
Red Hat Satellite には数多くのテンプレートのサンプルが含まれます。ホスト > プロビジョニングテンプレート に移動するとそれらを表示できます。それらのいずれかのクローンを作成したり、調整したり、独自のテンプレートを作成したりできます。テンプレートには Embedded Ruby (ERB) 構文を使用できます。詳細は、『ホスト設定ガイド』の「テンプレート作成の参照」を参照してください。
プロビジョニングテンプレートはダウンロードできます。ダウンロードを可能にするには、まずデバッグ証明書を作成する必要があります。『サーバー管理ガイド』の「組織のデバッグ証明書の作成」を参照してください。
Web UI を使用する場合
ホスト > プロビジョニングテンプレート に移動し、新規テンプレート をクリックします。UI にはプロビジョニングテンプレートの詳細を入力できる一連のフィールドがあります。または、サンプルのテンプレートのいずれかを選択し、クローン をクリックしてこれを複製してから事前に設定された詳細を変更することができます。
テンプレート タブ:
- 名前: プロビジョニングテンプレートのテキスト形式の名前。
- デフォルト: テンプレートが新規の組織またはロケーションに自動的に関連付けられるかどうかを定義します。
- テンプレートエディター: プロビジョニングテンプレートの本文を入力するテキスト領域。テンプレート ファイルブラウザーを使用してテンプレートファイルをアップロードすることもできます。
- 監査コメント: プロビジョニングテンプレートへの変更の概要フィールドです。
タイプ タブ:
- スニペット: プロビジョニングテンプレートをスニペットとして指定します。スニペットはスタンドアロンのプロビジョニングテンプレートではありませんが、他のプロビジョニングテンプレートに挿入できるプロビジョニングテンプレートの一部を構成します。
-
タイプ:
provision
などのテンプレートのタイプを定義します。
関連付け タブ:
- 適用可能なオペレーティングシステム セクションの すべての項目 の一覧から、オペレーティングシステムエントリーの名前をクリックしてそのオペレーティングシステムエントリーを 選択された項目 の一覧に移動し、プロビジョニングテンプレートをそのオペレーティングシステムエントリーで使用できるようにします。
- またオプションとして、組み合わせの追加 をクリックして ホストグループ の一覧からホストグループを 1 つ選択するか、または 環境 の一覧から環境を 1 つ選択すると、指定したホストグループと環境の組み合わせにプロビジョニングテンプレートを使用できるようになります。
Satellite はプロビジョニングテンプレートを現在のプロビジョニングコンテキストに追加します。組織 および ロケーション タブから追加のコンテキストを選択できます。
送信 をクリックしてプロビジョニングテンプレートを保存します。
CLI を使用する場合
CLI を使用してテンプレートを作成する前に、テンプレートが含まれるテキスト形式ファイルを作成します。この例では ~/my-template
ファイルを使用します。hammer partition-table create
コマンドを使用してインストールメディアを作成し、--type
オプションでタイプを指定します。
# hammer template create --name "My Provisioning Template" --file ~/my-template --type provision --organizations "ACME" --locations "New York"
3.4. オペレーティングシステムの作成
オペレーティングシステムは、Satellite Server がホストにベースオペレーティングシステムをインストールする方法を定義するリソースの集合です。オペレーティングシステムのエントリーは、インストールメディアやパーティションテーブル、プロビジョニングテンプレートなどの事前に定義されたリソースを組み合わせます。
Red Hat の CDN からオペレーティングシステムをインストールすると、ホスト > オペレーティングシステム ページで新規エントリーが作成されます。ユーザーは以下の手順でカスタムオペレーティングシステムを追加することもできます。
Web UI を使用する場合
ホスト > オペレーティングシステム に移動し、新規オペレーティングシステム をクリックします。UI には、オペレーティングシステムの詳細を入力できる一連のフィールドがあります。
オペレーティングシステム タブ:
- 名前: オペレーティングシステムエントリーを表すテキスト形式の名前。
- メジャーバージョン: オペレーティングシステムのメジャーバージョンに対応する番号。
- マイナーバージョン: オペレーティングシステムのマイナーバージョンに対応する番号。
- 説明: オペレーティングシステムの説明を入力するテキストフィールド。
- ファミリー: 新規オペレーティングシステムの分類に使用するオペレーティングシステムのファミリー。
- root パスワードのハッシュ: root パスワードのエンコーディング方法を定義します。
- アーキテクチャー: オペレーティングシステムが使用するアーキテクチャーを選択します。ホスト > アーキテクチャー メニューで追加のアーキテクチャーを作成します。
パーティションテーブル タブ:
- このオペレーティングシステムに適用できる可能性のあるパーティションテーブルを選択します。
インストールメディア タブ:
- このオペレーティングシステムに適用されるインストールメディアを選択します。キックスタートツリーはリポジトリーの同期時に自動的に利用可能になるはずです。詳細は、インストールメディアの作成 を参照してください。
テンプレート タブ:
- オペレーティングシステムに適用される各タイプのテンプレートを選択します。
送信 をクリックしてプロビジョニングテンプレートを保存します。
CLI を使用する場合
hammer os create
コマンドを使用してオペレーティングシステムを作成します。
# hammer os create --name "MyOS" --description "My custom operating system" --major 7 --minor 3 --family "Redhat" --architectures "x86_64" --partition-tables "My Partition" --media "Red Hat" --provisioning-templates "My Provisioning Template"
以下の点に注意してください。
- 先のセクションで作成したリソースを使用します(例: インストールメディア、パーティションテーブル、およびプロビジョニングテンプレート)。
- オペレーティングシステムにはプロビジョニングコンテキストがありません。オペレーティングシステムを構成するリソースのみがプロビジョニングコンテキストを持ちます。
3.5. コンピュートプロファイルの作成
コンピュートプロファイルは、仮想化インフラストラクチャーおよびクラウドプロバイダーなどのコンピュートリソースと併用されます。コンピュートプロファイルにより、ユーザーは CPU、メモリー、およびストレージなどのハードウェアを事前に定義できます。Red Hat Satellite 6 のデフォルトインストールには、以下の 3 つの事前に定義されたプロファイルが含まれます。
-
1-Small
-
2-Medium
-
3-Large
ここでは、4-Example
という 4 つ目のプロファイルを作成します。
Web UI を使用する場合
インフラストラクチャー > コンピュートプロファイル に移動します。既存のプロファイルの一覧が表示されます。新規のコンピュートプロファイル をクリックします。
プロファイルの 名前 (例: 4-Example
) を入力し、送信 をクリックします。
CLI を使用する場合
コンピュートプロファイルの CLI コマンドは Red Hat Satellite 6.2 ではまだ実装されていません。
3.6. アクティベーションキーの作成
新規ホストを作成する前に、アクティべーションキーを作成することをお勧めします。このアクティべーションキーは、プロビジョニングのシナリオでシステムの登録時に使用されます。本書のシナリオでは、Red Hat Satellite 6 コンテンツ管理ガイド のサブスクリプションおよびリポジトリーを割り当てるためにアクティべーションキーのサンプルを作成します。
Web UI を使用する場合
コンテンツ > アクティベーションキー に移動し、アクティベーションキーの作成 をクリックします。アクティべーションキーに以下の情報を入力します。
-
名前: アクティベーションキーの名前。システムの登録プロセスでこの名前を使用します。
example
と入力します。 -
コンテンツホストの制限: このアクティベーションキーで Satellite Server が登録を許可するシステム数を定義します。
無制限のコンテンツホスト
を選択します。 -
説明: アクティべーションキーのテキスト形式の説明。
Example activation key
と入力します。 -
環境: 使用する環境。
Production
を選択します。 -
コンテンツビュー: 環境内で使用するコンテンツビュー (およびリポジトリー) 。
Base
を選択します。
保存 をクリックすると、アクティベーションキーの詳細画面が表示されます。
ここで、登録時に割り当てる製品と有効にするリポジトリーを定義する必要があります。サブスクリプション タブに移動すると、空のサブスクリプション一覧が表示されます。追加 をクリックして Red Hat Enterprise Linux サブスクリプションを選択し、選択を追加 をクリックします。
Auto-Attach オプションは有効にされています。これにより、登録時にこれらの製品の割り当てが自動的に実行され、必要なリポジトリーが有効になります。アクティベーションキーの Auto-Attach が無効になっている場合は、システムはサブスクリプションやコンテンツを割り当てず、Satellite Server に登録されるのみとなります。
製品コンテンツ ページに移動します。アクティベーションキーの製品に関連付けられている全リポジトリーが表示されます。デフォルトでは、Satellite Server は以下のみを有効にしています。
- システム要件に最も適したリポジトリー。このケースでは Red Hat Enterprise Linux 7 Server RPMs のみになります。
- カスタムコンテンツ。
シナリオには以下のデフォルトが設定されているはずです。
Red Hat Enterprise Linux Server:
-
Red Hat Enterprise Linux 7 Server (Kickstart) - Enabled:
No (Default)
-
Red Hat Satellite Tools 6.2 (for RHEL 7 Server) (RPMs) - Enabled:
No (Default)
-
Red Hat Enterprise Linux 7 Server (RPMs) - Enabled:
Yes (Default)
Red Hat Satellite Tools リポジトリーには設定ツール (katello-agent
および puppet
など) が含まれるため、これを有効にします。以下のように変更します。
-
Red Hat Satellite Tools 6.2 (for RHEL 7 Server) (RPMs) - Enabled:
Override to Yes
保存 をクリックします。
CLI を使用する場合
アクティベーションキーを作成します。
# hammer activation-key create --name "example" --unlimited-content-hosts true --description "Example activation key" --lifecycle-environment "Production" --content-view "Base" --organization "ACME"
サブスクリプション ID 一覧を取得します。
# hammer subscription list --organization "ACME"
Red Hat Enterprise Linux サブスクリプション UUID をアクティベーションキーに割り当てます。
# hammer activation-key add-subscription --name "example" --subscription-id ff808181533518d50152354246e901aa --organization "ACME"
アクティベーションキーに関連付けられている製品コンテンツを一覧表示します。
# hammer activation-key product-content --name "example" --organization "ACME"
Red Hat Satellite Tools 6.2 リポジトリーのデフォルトの自動有効化ステータスを上書きします。デフォルトでは無効にされています。以下のコマンドでこれを有効にします。
# hammer activation-key content-override --name "example" --content-label rhel-7-server-satellite-tools-6.2-rpms --value 1 --organization "ACME"
アクティべーションキーのサンプルをプロビジョニングされたシステムの登録に使用できます。
3.7. 章の概要
本章では、新規ホストをプロビジョニングするためのリソースについて説明しました。これには、インストールメディア、パーティションテーブル、プロビジョニングテンプレート、コンピュートプロファイル、およびアクティベーションキーが含まれます。本書のシナリオではこれらのリソースをホストプロビジョニングプロセスに適用する方法を説明します。
次の章では、プロビジョニング用にネットワークインフラストラクチャーを設定する方法について説明します。