第3章 プロビジョニングリソースの設定
Satellite には、ホストの作成に必要なプロビジョニングリソースが含まれます。Satellite には、以下のプロビジョニングリソースが含まれます。
- Provisioning Template (プロビジョニングテンプレート)
- キックスタートテンプレートなど、静的なプロビジョニングテンプレートを作成できますが、Satellite には ERB (Embedded Ruby) 構文のプロビジョニングテンプレートが多数あり、ホストまたはホストグループごとにパラメーターをモジュール化するために使用できます。たとえば、キックスタートテンプレートのタイムゾーン設定は、指定のホストパラメーターにより異なる場合があり、プロビジョニングのワークフローに合わせて、さまざまな組み合わせを設定できます。
- パーティションテーブル
- パーティションテーブルは、キックスタートのディスクボリュームの定義部分をレンダリングするためだけに使用するテンプレートタイプです。パーティションテーブルは、プロビジョニングテンプレートと同じ ERB 構文を使用します。パーティションテーブルを使用して、複数のディスクレイアウトを定義し、システム目的に合わせてホストまたはホストグループごとにディスクレイアウトを選択してください。
- インストールメディア
-
インストールメディアは、Satellite に追加可能なパラメーター化された URL のことで、
yum
またはapt
などのオペレーティングシステムパッケージが含まれるリモートリポジトリーを参照します。このパラメーターを使用して、サードパーティーのコンテンツをインストールできます。反対に、Red Hat のコンテンツは、リポジトリー同期機能を使用して提供されます。 - サブスクリプションおよびリポジトリー
- Red Hat コンテンツを使用するには、Satellite にサブスクリプションをアップロードする必要があります。サブスクリプション用の製品を作成する必要があります。また、最初のライフサイクル環境の ライブラリー で、インストールリポジトリーを 1 つ以上有効化して、同期する必要があります。オプションで、コンテンツを他のライフサイクル環境またはコンテンツビューにフィルタリングしてプロモートできます。
3.1. オペレーティングシステムの作成
オペレーティングシステムは、Satellite Server がホストにベースオペレーティングシステムをインストールする方法を定義するリソースの集合です。オペレーティングシステムのエントリーは、インストールメディアやパーティションテーブル、プロビジョニングテンプレートなどの事前に定義されたリソースを組み合わせます。
Red Hat の CDN からオペレーティングシステムをインポートすると、ホスト > オペレーティングシステム ページで新規エントリーが作成されます。
以下の手順を使用して、カスタムのオペレーティングシステムも追加できます。
手順
- Satellite Web UI で ホスト > オペレーティングシステム に移動して、新規オペレーティングシステム をクリックします。
- 名前 フィールドには、オペレーティングシステムエントリーの名前を入力します。
- メジャー フィールドには、オペレーティングシステムのメジャーバージョンに対応する数字を入力します。
- マイナー フィールドには、オペレーティングシステムのマイナーバージョンに対応する数字を入力します。
- 説明 フィールドには、オペレーティングシステムの説明を加えます。
- ファミリー リストから、オペレーティングシステムのファミリーを選択します。
- root パスワードのハッシュ リストから、Root パスワードのエンコード方法を選択します。
- アーキテクチャー リストから、オペレーティングシステムがシステムが使用するアーキテクチャーを選択します。
- パーティションテーブル タブをクリックして、対象のオペレーティングシステムに適用するパーティションテーブルを選択します。
- オプション: Red Hat 以外のコンテンツを使用する場合には、インストールメディア タブをクリックして、対象のオペレーティングシステムに適用するインストールメディアを選択します。詳しい情報は、「サードパーティーのインストールメディア使用」を参照してください。
- テンプレート タブをクリックして、オペレーティングシステムで使用する PXELinux テンプレート、プロビジョニングテンプレート および finish テンプレート を選択しましす。プロビジョニングに iPXE を使用予定の場合には、iPXE テンプレート など、他のテンプレートを選択してください。
- 送信 をクリックしてプロビジョニングテンプレートを保存します。
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.2. 複数のオペレーティングシステムの更新
以下の手順を使用して、オペレーティングシステムごとにパーティションテーブル、設定テンプレート、プロビジョニングテンプレートを割り当てます。
手順
各オペレーティングシステムに、パーティションテーブル Kickstart default
、設定テンプレート Kickstart default PXELinux
およびプロビジョニングテンプレート Satellite Kickstart Default
を割り当てるには以下の手順を実行します。
次の Bash スクリプトを実行します。
PARTID=$(hammer --csv partition-table list | grep "Kickstart default," | cut -d, -f1) PXEID=$(hammer --csv template list --per-page=1000 | grep "Kickstart default PXELinux" | cut -d, -f1) SATID=$(hammer --csv template list --per-page=1000 | grep "provision" | grep ",Kickstart default" | cut -d, -f1) for i in $(hammer --no-headers --csv os list | awk -F, {'print $1'}) do hammer partition-table add-operatingsystem --id="${PARTID}" --operatingsystem-id="${i}" hammer template add-operatingsystem --id="${PXEID}" --operatingsystem-id="${i}" hammer os set-default-template --id="${i}" --config-template-id=${PXEID} hammer os add-config-template --id="${i}" --config-template-id=${SATID} hammer os set-default-template --id="${i}" --config-template-id=${SATID} done
更新したオペレーティングシステムの情報を表示して、オペレーティングシステムが正しく更新されたことを確認します。
# hammer os info --id 1
3.3. アーキテクチャーの作成
Satellite 内のアーキテクチャーはホストおよびオペレーティングシステムの論理グループを表します。アーキテクチャーは、ホストが Puppet に接続する際に Satellite によって自動的に作成されます。Satellite 6 には、基本的な i386 と x86_64 のアーキテクチャーが事前設定されています。
以下の手順を使用して Satellite のアーキテクチャーを作成します。
サポートされるアーキテクチャー
PXE、Discovery およびブートディスクを使用したプロビジョニングをサポートするのは Intel x86_64 アーキテクチャーのみです。詳細は、Red Hat ナレッジベースソリューション Architectures Supported for Satellite 6 Provisioning を参照してください。
手順
アーキテクチャーを作成するには、以下の手順を行います。
- Satellite Web UI で ホスト > アーキテクチャー に移動して、アーキテクチャーウィンドウで、アーキテクチャーの作成 をクリックします。
- 名前 フィールドに、アーキテクチャーの名前を入力します。
- オペレーティングシステム リストから、オペレーティングシステムを選択します。利用できるオペレーティングシステムがない場合には、作成して ホスト > オペレーティングシステム の下に割り当てることができます。
- 送信 をクリックします。
CLI をご利用の場合
hammer architecture create
コマンドを入力して、アーキテクチャーを作成します。このアーキテクチャーに含める名前とオペレーティングシステムを指定します。
# hammer architecture create --name "Architecture_Name" \ --operatingsystems "os"
3.4. ハードウェアモデルの作成
以下の手順を使用して、Satellite でハードウェアを作成し、ホストが使用するハードウェアモデルを指定できるようにします。
手順
ハードウェアモデルを作成するには、以下の手順を行います。
- Satellite Web UI で ホスト > ハードウェアモデル に移動して、ハードウェアモデルウィンドウで、モデルの作成 をクリックします。
- 名前 フィールドには、ハードウェアモデルの名前を入力します。
- オプションで、ハードウェアモデル と ベンダークラス フィールドに、お使いのシステムに適した情報を入力します。
- 情報 フィールドには、ハードウェアモデルの説明を入力します。
- 送信 をクリックしてハードウェアモデルを保存します。
CLI をご利用の場合
hammer model create
コマンドを使用して、ハードウェアモデルを作成します。必須となる唯一のパラメーターは、--name
です。オプションで、--hardware-model
オプションにハードウェアモデルを、--vendor-class
パラメーターにベンダークラスを、--info
パラメーターに詳細を入力します。
# hammer model create --name "model_name" --info "description" \ --hardware-model "hardware_model" --vendor-class "vendor_class"
3.5. ホストのオペレーティングシステム用の同期済みキックスタートリポジトリーの使用
Satellite には、同期済みのキックスタートリポジトリーのセットが含まれており、これは、プロビジョニングしたホストのオペレーティングシステムをインストールする時に使用します。リポジトリーの追加に関する詳細は、『コンテンツ管理ガイド』の「同期する Red Hat リポジトリーの選択」を参照してください。
キックスタートリポジトリーを設定するには、以下の手順を実行します。
既存のコンテンツビューに、使用を希望する同期済みのキックスタートリポジトリーを追加するか、コンテンツビューを新たに作成してキックスタートリポジトリーを追加します。
Red Hat Enterprise Linux 8 の場合には、Red Hat Enterprise Linux 8 for x86_64 - AppStream Kickstart x86_64 8 と Red Hat Enterprise Linux 8 for x86_64 - BaseOS Kickstart x86_64 8 両方のリポジトリーが追加されていることを確認します。
オフライン環境をご利用の場合は、Red Hat Enterprise Linux バイナリー DVD からキックスタートリポジトリーをインポートする必要があります。詳細は、『コンテンツ管理ガイド』の「キックスタートリポジトリーのインポート」を参照してください。
- キックスタートリポジトリーを追加した新しいバージョンのコンテンツビューを公開し、必要なライフサイクル環境にプロモートします。詳しい情報は、『コンテンツ管理ガイド』の「コンテンツビューの管理」を参照してください。
- ホストの作成時に、オペレーティングシステム タブの メディアの選択 で 同期済みのコンテンツ チェックボックスを選択します。
キックスタートツリーの表示
キックスタートツリーを表示するには、以下のコマンドを入力します。
# hammer medium list --organization "your_organization"
3.6. パーティションテーブルの作成
パーティションテーブルは、Satellite Server が新規ホストで利用可能なディスクを設定する方法を定義する一連のディレクティブです。Red Hat Satellite 6 には、Kickstart default
などの、デフォルトのパーティションテーブルのセットが含まれます。また、パーティションテーブルのエントリーを編集して、任意のパーティションスキームの設定やパーティションテーブルのエントリー作成を行い、そのエントリーを Red Hat Enterprise Linux オペレーティングシステムのエントリーに追加することができます。
手順
パーティションテーブルを作成するには、以下の手順を行います。
- Satellite Web UI で ホスト > パーティションテーブル に移動して、パーティションテーブルウィンドウで、パーティションテーブルの作成 をクリックします。
- 名前 フィールドには、パーティションテーブルの名前を入力します。
- テンプレートを新規の組織またはロケーションに自動的に関連付けられるように設定する必要がある場合は、デフォルト のチェックボックスを選択します。
- 他のパーティションテーブルで再利用可能なスニペットとして、テンプレートを特定するには、スニペット のチェックボックスを選択します。
-
オペレーティングシステムの種類 リストから、パーティションレイアウトのディストリビューションまたはファミリーを選択します。たとえば、Red Hat Enterprise Linux、CentOS、および Fedora は、
Red Hat
ファミリーに属します。 テンプレートエディター フィールドには、ディスクパーティションのレイアウトを入力します。下は例になります。
zerombr clearpart --all --initlabel autopart
テンプレート ファイルブラウザーを使用してテンプレートファイルをアップロードすることもできます。
レイアウトのフォーマットは、オペレーティングシステムのフォーマットと一致する必要があります。Red Hat Enterprise Linux 7.2 にはキックスタートファイルに一致するレイアウトが必要です。
- 監査コメント には、パーティションレイアウトへの変更の概要を追加します。
- 組織 と ロケーション タブをクリックして、パーティションテーブルに関連付ける、他のプロビジョニングコンテキストを追加します。Sattelite により、現在のプロビジョニングコンテキストに、そのパーティションテーブルが追加されます。
- 送信 をクリックしてパーティションテーブルを保存します。
CLI をご利用の場合
CLI を使用してパーティションテーブルを作成する前に、パーティションレイアウトが含まれるテキスト形式のファイルを作成します。この例では ~/my-partition
ファイルを使用します。hammer partition-table create
コマンドを使用してインストールメディアを作成します。
# hammer partition-table create --name "My Partition" --snippet false \ --os-family Redhat --file ~/my-partition --organizations "My_Organization" \ --locations "My_Location"
3.7. プロビジョニングテンプレートの作成
プロビジョニングテンプレートは、Satellite Server がホストにオペレーティングシステムをインストールする方法を定義します。
3.7.1. プロビジョニングのタイプ
プロビジョニングテンプレートにはさまざまな種類があります。
Provision
プロビジョニングプロセスのテンプレート (例: キックスタートテンプレート)。キックスタートテンプレートの構文についての詳細は、『Red Hat Enterprise Linux 7 インストールガイド』 の 「キックスタート構文の参考資料」 を参照してください。
PXELinux、PXEGrub、PXEGrub2
正しいカーネルオプションが指定されたインストーラーをホストで使用されるように、サブネットに関連付けられたテンプレート Capsule にデプロイする PXE ベースのテンプレート。BIOS のプロビジョニングの場合は、PXELinux テンプレートを、UEFI プロビジョニングの場合は、PXEGrub2 を選択します。
Finish
主なプロビジョニングプロセスの完了時に使用するプロビジョニング後の設定スクリプト。これは、SSH タスクとして完了します。Finish テンプレートは、仮想環境でのイメージベースのプロビジョニングにのみ使用できます。Foreman Discovery ISO のイメージと混同しないようにしてください。後者は Foreman Discovery イメージと呼ばれる場合もあります。このコンテキストのイメージは、デプロイメントの簡素化を目指した、仮想化環境でのインストールイメージを指します。
Bootdisk
PXE 以外の起動方法に使用するテンプレート
Kernel Execution (kexec)
PXE 以外の起動方法に使用するカーネル実行テンプレート
カーネル実行は、テクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat サービスレベルアグリーメント (SLA) では完全にサポートされていません。これらは、機能的に完全でない可能性があり、実稼働環境での使用を目的とはしていませんが、近々発表予定のプロダクトイノベーションをリリースに先駆けてご提供することにより、お客様は機能性をテストし、開発プロセス中にフィードバックをお寄せいただくことができます。
user_data
cloud-init
スクリプトなど、ユーザーデータを受け入れるプロバイダー向けのインストール後の設定スクリプト。このテンプレートの使用時に、Satellite がホストに到達できなくても構いません、ホストは Satellite に到達できなければなりません。
Script
デフォルトで使用されないが、カスタムタスクに役立つ任意のスクリプト。
ZTP
Zero Touch Provisioning テンプレート。
POAP
PowerOn Auto Provisioning テンプレート。
iPXE
PXELinux の代わりに iPXE
または gPXE
環境で使用するテンプレート。
3.7.2. テンプレート構文と管理
Red Hat Satellite には、多数のテンプレートサンプルが含まれています。Satellite Web UI で、ホスト > プロビジョニングテンプレート に移動して、サンプルを表示します。テンプレートを作成するか、テンプレートのクローンを作成して、編集できます。テンプレートに関するサポートが必要な場合には、ホスト > プロビジョニングテンプレート > テンプレートの作成 > ヘルプ に移動します。
Embedded Ruby (ERB) 構文を受け入れるテンプレート。詳細情報は、『ホストの管理』の「テンプレート作成の参照」を参照してください。
プロビジョニングテンプレートはダウンロードが可能です。ただし、ダウンロード前にデバッグ証明書を作成する必要があります。詳細情報は、『コンテンツ管理ガイド』の「組織のデバッグ証明書の作成」を参照してください。
Satellite Server と Git リポジトリーまたはローカルディレクトリーの間でテンプレートを同期できます。詳細情報は、『コンテンツ管理ガイド』の「付録 F. Git を使用したテンプレートの同期」を参照してください。
変更ログと履歴
テンプレートの変更履歴を表示するには、ホスト > プロビジョニングテンプレート に移動してテンプレートを選択し、履歴 をクリックします。戻す をクリックすると、以前のバージョンでコンテンツを上書きできます。差分の表示 をクリックすると、特定の変更についての情報が確認できます。
- テンプレート差分 タブでは、プロビジョニングテンプレートのボディーの変更が表示されます。
- 詳細 タブでは、テンプレートの説明の変更が表示されます。
- 履歴 タブでは、テンプレートを変更したユーザーと変更日が表示されます。
3.7.3. 手順
テンプレートを作成するには、以下の手順を行います。
- Satellite Web UI で、ホスト > プロビジョニングテンプレート に移動し、プロビジョニングテンプレートウィンドウで テンプレートの作成 をクリックします。
ヘルプ タブでは、テンプレート構文についての情報が表示されます。テンプレート内の異なるタイプのオブジェクトで呼び出すことができる関数、変数、およびメソッドについて詳述されています。
または、テンプレートのクローンを作成して、そのクローンに更新を追加するには、以下の手順を行います。
- Satellite Web UI で、ホスト > プロビジョニングテンプレート に移動し、使用するテンプレートを検索します。
- 使用するテンプレートで、クローン をクリックして、テンプレートをもう 1 つ作成します。
- 名前 フィールドには、プロビジョニングテンプレートの名前を入力します。
- テンプレートを新規の組織またはロケーションに自動的に関連付けられるように設定するには、デフォルト のチェックボックスを選択します。
- テンプレートエディター フィールドには、プロビジョニングテンプレートのボディーを入力します。テンプレート ファイルブラウザーを使用してテンプレートファイルをアップロードすることもできます。
- 監査コメント には、監査を目的とするプロビジョニングテンプレートへの変更についての概要を入力します。
- タイプ タブをクリックして、テンプレートがスニペットの場合には、 スニペット のチェックボックスを選択します。スニペットは、スタンドアロンのプロビジョニングテンプレートではありませんが、他のプロビジョニングテンプレートに挿入可能なプロビジョニングテンプレートに含まれています。
- タイプ リストから、プロビジョニングテンプレート など、テンプレートの種類を選択します。
- 関連付け タブをクリックして、適用可能なオペレーティングシステム リストから、このプロビジョニングテンプレートに関連付けるオペレーティングシステム名を選択します。
- またオプションとして、組み合わせの追加 をクリックして ホストグループ の一覧からホストグループを 1 つ選択するか、または 環境 の一覧から環境を 1 つ選択すると、指定したホストグループと環境と、プロビジョニングテンプレートを関連付けることができます。
- 組織 および ロケーション タブをクリックして、テンプレートに別のコンテキストを追加します。
- 送信 をクリックしてプロビジョニングテンプレートを保存します。
CLI をご利用の場合
CLI を使用してテンプレートを作成する前に、テンプレートが含まれるテキスト形式ファイルを作成します。この例では ~/my-template
ファイルを使用します。hammer partition-table create
コマンドを使用してインストールメディアを作成し、--type
オプションでタイプを指定します。
# hammer template create --name "My Provisioning Template" \ --file ~/my-template --type provision --organizations "My_Organization" \ --locations "My_Location"
3.8. コンピュートプロファイルの作成
コンピュートプロファイルは、仮想化インフラストラクチャーおよびクラウドプロバイダーなどのコンピュートリソースと併用されます。コンピュートプロファイルにより、ユーザーは CPU、メモリー、およびストレージなどのハードウェアを事前に定義できます。Red Hat Satellite 6 のデフォルトインストールには、以下の 3 つの事前に定義されたプロファイルが含まれます。
-
1-Small
-
2-Medium
-
3-Large
手順
- Satellite Web UI で インフラストラクチャー > コンピュートプロファイル に移動して、コンピュートプロファイルのウィンドウで コンピュートプロファイルの作成 をクリックします。
- 名前 フィールドに、プロファイルの名前を入力して 送信 をクリックします。
CLI をご利用の場合
Red Hat Satellite 6.6 には、コンピュートプロファイルの CLI コマンドは実装されていません。
3.9. ホストへのデフォルト暗号化 Root パスワードの設定
プロビジョニングしたホストにプレーンテキストのデフォルト root パスワードを設定したくない場合は、デフォルトの暗号化パスワードを使用することができます。
ホストにデフォルトの暗号化パスワードを設定するには、以下の手順に従います。
暗号化パスワードを生成します。以下のコマンドを使用します。
# python -c 'import crypt,getpass;pw=getpass.getpass(); print(crypt.crypt(pw)) if (pw==getpass.getpass("Confirm: ")) else exit()'
- 後で使用するために、パスワードをコピーしておきます。
- Satellite Web UI で、管理 > 設定 に移動します。
- 設定 ページで、プロビジョニング タブを選択します。
- Name コラムで Root パスワード を探して、クリックして編集 をクリックします。
- 生成した暗号化パスワードを貼り付け、保存 をクリックします。
3.10. サードパーティーのインストールメディア使用
インストールメディアは、Satellite Server がサードパーティーのベースオペレーティングシステムをマシンにインストールするために使用するサードパーティーファイルのソースです。インストールメディアは、オペレーティングシステムのインストールツリーの形式で提供され、インストーラーをホストするマシンから HTTP URL 経由でアクセスできる必要があります。利用可能なインストールメディアは ホスト > インストールメディア メニューに表示されます。
ローカルにマウントされた ISO イメージなどの他のインストールメディアの場合には、以下の手順を使用して独自のカスタムメディアパスを追加することができます。
手順
インストールメディアを作成するには、以下の手順を行います。
- Satellite Web UI で ホスト > インストールメディア に移動して、メディアの作成 をクリックします。
- 名前 フィールドには、インストールメディアエントリーの名前を入力します。
パス には、インストールツリーを含む URL または NFS シェアを入力します。複数の異なるシステムアーキテクチャーおよびバージョンを表すために以下の変数をパスで使用できます。
-
$arch
: システムアーキテクチャー -
$version
: オペレーティングシステムのバージョン -
$major
: オペレーティングシステムのメジャーバージョン $minor
: オペレーティングシステムのマイナーバージョンHTTP パスの例:
http://download.example.com/centos/$version/Server/$arch/os/
NFS パスの例:
nfs://download.example.com:/centos/$version/Server/$arch/os/
Capsule Server の同期したコンテンツは HTTP パスを常に使用します。Capsule Server で管理されたコンテンツは NFS パスをサポートしません。
-
-
オペレーティングシステムの種類 リストから、メディアのディストリビューションまたはファミリーを選択します。たとえば、CentOS、および Fedora は、
Red Hat
ファミリーに属します。 - 組織 と ロケーション タブをクリックして、プロビジョニングコンテキストを変更します。Satellite Server により、設定されたプロビジョニングコンテキストにインストールメディアを追加します。
- 送信 をクリックしてインストールメディアを保存します。
CLI をご利用の場合
hammer medium create
コマンドを使用してインストールメディアを作成します。
# hammer medium create --name "CustomOS" --os-family "Redhat" \ --path 'http://download.example.com/centos/$version/Server/$arch/os/' \ --organizations "My_Organization" --locations "My_Location"
3.11. noVNC を使用した仮想マシンへのアクセス
ブラウザーを使用して、Satellite が作成した仮想マシンの VNC コンソールにアクセスできます。
Satellite は、以下の仮想化プラットフォームで noVNC の使用をサポートします。
- VMware
- Libvirt
- RHV
以下の手順に従い、仮想化プラットフォームおよびブラウザーを設定して NoVNC コンソールを使用できるようにします。
前提条件
- Satellite で仮想マシンを作成しておく必要がある。
- 既存の仮想マシンの場合は、 コンピュートリソース 設定 の ディスプレイのタイプ が VNC になっていることを確認する。
- Satellite Server に Katello root CA 証明書をインポートする必要がある。ブラウザーにセキュリティーの例外を追加するだけでは、noVNC の使用の要件を満たしません。詳細情報は、『Red Hat Satellite の管理 』ガイドの「 Katello Root CA 証明書のインストール」のセクションを参照してください。
手順
仮想マシンのホストシステムで、ポート 5900 から 5930 まで VNC サービスが許可されるようにファイアウォールを設定します。
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
- Satellite Web UI で、インフラストラクチャー > コンピュートリソース に移動し、コンピュートリソースの名前を選択します。
- 仮想マシン タブで、仮想マシンホストの名前を選択します。マシンの電源がオンになっていることを確認してから、コンソール を選択します。