Red Hat Training

A Red Hat training course is available for Red Hat Satellite

第3章 プロビジョニングリソースの設定

Red Hat Satellite 6 は、新規ホストの作成に役立つ一連のプロビジョニングリソースを提供します。このセクションでは、これらのリソースのいくつかや、それらのリソースがホストのプロビジョニングにどのように役立つかについて説明します。

サポートされるアーキテクチャー

PXE、Discovery およびブートディスクを使用したプロビジョニングについてサポートされるのは Intel x86_64 アーキテクチャーのみです。詳細は、Red Hat ナレッジベースソリューション Architectures Supported for Satellite 6 Provisioning を参照してください。

3.1. アーキテクチャーの作成

Satellite 内のアーキテクチャーはホストおよびオペレーティングシステムの論理グループを表します。アーキテクチャーは、ホストが Puppet に接続する際に Satellite によって自動的に作成されます。Satellite 6 には、ベーシックな i386 と x86_64 のアーキテクチャーがプリセットされています。

Web UI を使用する場合

  1. ホスト > アーキテクチャー をクリックしてから、アーキテクチャーの作成 をクリックします。
  2. アーキテクチャーの 名前 を指定します。
  3. このアーキテクチャーに含める オペレーティングシステム を選択します。利用可能なものがない場合は、作成して ホスト > オペレーティングシステム の下に割り当てます。
  4. 送信 をクリックします。

CLI を使用する場合

hammer architecture create コマンドを使用して、新規アーキテクチャーを作成します。名前とアーキテクチャーに含めるオペレーティングシステムを指定します。

# hammer architecture create --name "architecture_name" \
--operatingsystems "os"

3.2. ハードウェアモデルの作成

ハードウェアモデルは、ホストが使用するハードウェアモデルを指定します。

Web UI を使用する場合

  1. ホスト > ハードウェアモデル に移動します。
  2. モデルの作成 をクリックします。
  3. ハードウェアモデルの 名前 を指定します。
  4. オプションで、システムに ハードウェアモデル および ベンダークラス を入力できます。
  5. 情報 フィールドに、ハードウェアモデルの詳細を入力します。
  6. 送信 をクリックします。

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.3. インストールメディアの作成

インストールメディアは、Satellite Server がベースオペレーティングシステムをマシンにインストールするために使用するファイルのソースです。インストールメディアは、オペレーティングシステムのインストールツリーの形式で提供され、インストーラーをホストするマシンから HTTP URL 経由でアクセスできる必要があります。利用可能なインストールメディアは ホスト > インストールメディア メニューに表示されます。

ローカルにマウントされた 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.4. パーティションテーブルの作成

パーティションテーブルは、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.5. プロビジョニングテンプレートの作成

プロビジョニングテンプレートは、Satellite Server がホストにオペレーティングシステムをインストールする方法を定義します。プロビジョニングテンプレートには、以下を含む様々なタイプがあります。

  • provision: プロビジョニングプロセスのテンプレート (例: キックスタートテンプレート)。キックスタートテンプレートの構文についての詳細は、『Red Hat Enterprise Linux 7 インストールガイド』「キックスタート構文の参考資料」 を参照してください。
  • PXELinuxPXEGrubPXEGrub2 - TFTP サーバーにデプロイして、ホストが正しい kernel オプションでインストーラーを使用するための PXE ベースのテンプレート。
  • finish: 主要なプロビジョニングプロセスの完了後の設定後スクリプト。これは SSH タスクとして実行されます。
  • Bootdisk: PXE を使用しないブート方法のためのテンプレート。
  • kexec: PXE を使用しないブート方法のためのカーネル実行テンプレート。
  • user_data: cloud-init スクリプトなどのユーザーデータを受け入れるプロバイダー用の設定後スクリプト。
  • script: デフォルトで使用されないが、カスタムタスクに役立つ任意のスクリプト。
  • ZTP: Zero Touch Provisioning テンプレート。
  • POAP: PowerOn Auto Provisioning テンプレート。
  • iPXE - PXELinux の代わりに iPXE または gPXE 環境で使用するテンプレート。

Red Hat Satellite には数多くのテンプレートのサンプルが含まれます。ホスト > プロビジョニングテンプレート に移動するとそれらを表示できます。それらのいずれかのクローンを作成したり、調整したり、独自のテンプレートを作成したりできます。テンプレートには Embedded Ruby (ERB) 構文を使用できます。詳細は、『ホストの管理』「テンプレート作成の参照」 を参照してください。

プロビジョニングテンプレートはダウンロードが可能です。ただし、ダウンロード前にデバッグ証明書を作成する必要があります。『コンテンツ管理ガイド』「組織のデバッグ証明書の作成」 を参照してください。

注記

テンプレートの変更履歴を表示するには、ホスト > プロビジョニングテンプレート に移動してテンプレートを選択し、履歴 をクリックします。戻す をクリックすると、以前のバージョンでコンテンツを上書きできます。差分の表示 をクリックすると、特定の変更についての情報が確認できます。

  1. テンプレート差分 タブでは、プロビジョニングテンプレートのボディの変更が表示されます。
  2. 詳細 タブでは、テンプレートの説明の変更が表示されます。
  3. 履歴 タブでは、テンプレートを変更したユーザーと変更日が表示されます。
注記

フィニッシュテンプレートは、仮想環境におけるイメージベースのプロビジョニングにのみ使用する設計になっています。イメージと Foreman Discovery ISO を混同しないようにしてください。後者は Foreman Discovery イメージと呼ばれる場合もあります。このコンテキストにおけるイメージとは、デプロイメントを容易にするための仮想環境におけるインストールイメージです。

Web UI を使用する場合

ホスト > プロビジョニングテンプレート に移動し、テンプレートの作成 をクリックします。UI にはプロビジョニングテンプレートの詳細を入力するフィールドがあります。

注記

ヘルプ タブでは、テンプレート構文についての情報が表示されます。テンプレート内の異なるタイプのオブジェクトで呼び出すことができる関数、変数、およびメソッドについて詳述されています。

別の方法では、テンプレート例からいずれかを選択し、クローン をクリックして複製してから、そのプリセットを変更することもできます。

  • テンプレート タブ:

    • 名前: プロビジョニングテンプレートのテキスト形式の名前。
    • デフォルト: テンプレートを新規の組織またはロケーションに自動的に関連付けられるように設定します。
    • テンプレートエディター: プロビジョニングテンプレートの本文を入力するテキスト領域。テンプレート ファイルブラウザーを使用してテンプレートファイルをアップロードすることもできます。
    • 監査コメント: プロビジョニングテンプレートへの変更の概要フィールドです。
  • タイプ タブ:

    • スニペット: プロビジョニングテンプレートをスニペットとして指定します。スニペットはスタンドアロンのプロビジョニングテンプレートではありませんが、他のプロビジョニングテンプレートに挿入できるプロビジョニングテンプレートの一部を構成します。
    • タイプ: プロビジョニングテンプレート などのテンプレートのタイプ。
  • 関連付け タブ:

    • 適用可能なオペレーティングシステム セクションの すべての項目 の一覧から、オペレーティングシステムエントリーの名前をクリックしてそのオペレーティングシステムエントリーを 選択された項目 の一覧に移動し、プロビジョニングテンプレートをそのオペレーティングシステムエントリーで使用できるようにします。
    • またオプションとして、組み合わせの追加 をクリックして ホストグループ の一覧からホストグループを 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.5.1. プロビジョニング中の SSH キーのデプロイ

ユーザーに追加した SSH キーは、プロビジョニング中にデプロイできます。ユーザーに SSH キーを追加する方法については、『RED HAT SATELLITE の管理』「ユーザーへの SSH キーの追加」 を参照してください。

プロビジョニング中の SSH キーのデプロイ

  1. ホスト > プロビジョニングテンプレート に移動します。
  2. プロビジョニングテンプレートを作成、クローン、または既存テンプレートを編集します。詳細は 「プロビジョニングテンプレートの作成」 を参照してください。
  3. テンプレートで テンプレート タブをクリックします。
  4. テンプレートエディター のフィールドで、create_users スニペットを %post セクションに追加します。

    <%= snippet('create_users') %>
  5. デフォルト チェックボックスを選択します。
  6. 関連付け タブをクリックします。
  7. 適用可能なオペレーティングシステム リストから適切なオペレーティングシステムを選択します。
  8. 送信 をクリックしてプロビジョニングテンプレートを保存します。
  9. 新規ホストをプロビジョニングテンプレートに関連付けて作成するか、修正したテンプレートに関連付けた OS を使用しているホストを再ビルドします。詳細は、「Satellite Server でのホストの作成」 を参照してください。

    Owned by ユーザーの SSH キーは、プロビジョニングプロセス中に create_users スニペットが実行されると、自動的に追加されます。Owned by は、個人のユーザーやユーザーグループに設定することができます。Owned by をユーザーグループに設定すると、そのユーザー内の全ユーザーの SSH キーが自動的に追加されます。

3.6. オペレーティングシステムの作成

オペレーティングシステムは、Satellite Server がホストにベースオペレーティングシステムをインストールする方法を定義するリソースの集合です。オペレーティングシステムのエントリーは、インストールメディアやパーティションテーブル、プロビジョニングテンプレートなどの事前に定義されたリソースを組み合わせます。

Red Hat の CDN からオペレーティングシステムをインストールすると、ホスト > オペレーティングシステム ページで新規エントリーが作成されます。ユーザーは以下の手順でカスタムオペレーティングシステムを追加することもできます。

Web UI を使用する場合

ホスト > オペレーティングシステム に移動し、新規オペレーティングシステム をクリックします。UI には、オペレーティングシステムの詳細を入力できる一連のフィールドがあります。

  • オペレーティングシステム タブ:

    • 名前: オペレーティングシステムエントリーを表すテキスト形式の名前。
    • メジャーバージョン: オペレーティングシステムのメジャーバージョンに対応する番号。
    • マイナーバージョン: オペレーティングシステムのマイナーバージョンに対応する番号。
    • 説明: オペレーティングシステムの説明を入力するテキストフィールド。
    • ファミリー: 新規オペレーティングシステムの分類に使用するオペレーティングシステムのファミリー。
    • root パスワードのハッシュ: root パスワードのエンコーディング方法。
    • アーキテクチャー: オペレーティングシステムが使用するアーキテクチャーを選択します。ホスト > アーキテクチャー メニューで追加のアーキテクチャーを作成します。
  • パーティションテーブル タブ:

    • このオペレーティングシステムに適用できる可能性のあるパーティションテーブルを選択します。
  • インストールメディア タブ:

  • テンプレート タブ:

    • オペレーティングシステムで使用する PXELinux テンプレートプロビジョニングテンプレート、および フィニッシュテンプレート を選択します。
    • たとえば、プロビジョニングに 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.7. コンピュートプロファイルの作成

コンピュートプロファイルは、仮想化インフラストラクチャーおよびクラウドプロバイダーなどのコンピュートリソースと併用されます。コンピュートプロファイルにより、ユーザーは CPU、メモリー、およびストレージなどのハードウェアを事前に定義できます。Red Hat Satellite 6 のデフォルトインストールには、以下の 3 つの事前に定義されたプロファイルが含まれます。

  • 1-Small
  • 2-Medium
  • 3-Large

ここでは、4-Example という 4 つ目のプロファイルを作成します。

Web UI を使用する場合

インフラストラクチャー > コンピュートプロファイル に移動します。既存のプロファイルの一覧が表示されます。新規のコンピュートプロファイル をクリックします。

プロファイルの 名前 (例: 4-Example) を入力し、送信 をクリックします。

CLI を使用する場合

Red Hat Satellite 6.3 には、コンピュートプロファイルの CLI コマンドは実装されていません。

3.8. アクティベーションキーの作成

新規ホストを作成する前に、アクティべーションキーを作成することをお勧めします。このアクティべーションキーは、プロビジョニングのシナリオでシステムの登録時に使用されます。本書のシナリオでは、『コンテンツ管理ガイド』 のサブスクリプションおよびリポジトリーを割り当てるためにアクティべーションキーのサンプルを作成します。

Web UI を使用する場合

コンテンツ > アクティベーションキー に移動し、アクティベーションキーの作成 をクリックします。アクティべーションキーに以下の情報を入力します。

  • 名前: アクティベーションキーの名前。システムの登録プロセスでこの名前を使用します。example と入力します。
  • コンテンツホストの制限: このアクティベーションキーで Satellite Server が登録を許可するシステム数。無制限のコンテンツホスト を選択します。
  • 説明: アクティべーションキーのテキスト形式の説明。Example activation key と入力します。
  • 環境: 使用する環境。Production を選択します。
  • コンテンツビュー: 環境内で使用するコンテンツビュー (およびリポジトリー) 。Base を選択します。

保存 をクリックすると、アクティベーションキーの詳細画面が表示されます。

ここで、登録時に割り当てる製品と有効にするリポジトリーを定義する必要があります。サブスクリプション タブに移動すると、空のサブスクリプション一覧が表示されます。追加 をクリックして Red Hat Enterprise Linux サブスクリプションを選択し、選択を追加 をクリックします。

注記

デフォルトでは、Auto-Attach オプションが有効になっています。アクティベーションキーで自動アタッチを有効にし、キーに割り当てたサブスクリプションがある場合は、サブスクリプション管理サービスが、基準に基づいて、最適な関連サブスクリプションを選択して割り当てます。自動アタッチを有効にして、キーにサブスクリプションを関連付けないようにしておくこともできます。このようなキーは、RHEL サブスクリプションを使用し、ハイパーバイザーから RHEL Virtual Data Center (VDC) サブスクリプションを継承する仮想マシンが必要ない場合に、仮想マシンを登録するために一般的に使用されます。自動アタッチを無効にすると、サブスクリプションマネジメントサービスは、ホストの登録中に関連するすべてのサブスクリプションをアタッチしようとします。1 つでもサブスクリプションがアタッチできないと、ホストの登録は失敗します。

製品コンテンツ ページに移動します。アクティベーションキーの製品に関連付けられているリポジトリーがすべて表示されます。デフォルトでは、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.3 (for RHEL 7 Server) (RPMs) - Enabled: No (Default)
  • Red Hat Enterprise Linux 7 Server (RPMs) - Enabled: Yes (Default)

Red Hat Satellite Tools 6.3 リポジトリーには設定ツール (katello-agent および puppet など) が含まれるため、これを有効にします。以下のように変更します。

  • Red Hat Satellite Tools 6.3 (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.3 リポジトリーのデフォルトの自動有効化ステータスを上書きします。デフォルトでは無効にされています。以下のコマンドでこれを有効にします。

# hammer activation-key content-override --name "example" \
--content-label rhel-7-server-satellite-tools-6.3-rpms \
--value 1 --organization "ACME"

アクティべーションキーのサンプルをプロビジョニングされたシステムの登録に使用できます。

3.9. ホストへのデフォルト暗号化 Root パスワードの設定

プロビジョニングしたホストにプレーンテキストのデフォルト root パスワードを設定したくない場合は、デフォルトの暗号化パスワードを使用することができます。

ホストにデフォルトの暗号化パスワードを設定するには、以下の手順に従います。

  1. 暗号化パスワードを生成します。以下のコマンドを使用します。

    python -c 'import crypt,getpass;pw=getpass.getpass(); print(crypt.crypt(pw)) if (pw==getpass.getpass("Confirm: ")) else exit()'
  2. 後で使用するために、パスワードをコピーしておきます。
  3. Satellite Web UI で、管理 > 設定 に移動します。
  4. 設定 ページで、プロビジョニング タブを選択します。
  5. Name コラムで Root パスワード を探して、クリックして編集 をクリックします。
  6. 生成した暗号化パスワードを貼り付け、保存 をクリックします。

3.10. 本章のまとめ

本章では、新規ホストをプロビジョニングするためのリソースについて説明しました。これには、インストールメディア、パーティションテーブル、プロビジョニングテンプレート、コンピュートプロファイル、およびアクティベーションキーが含まれます。本書の後のシナリオでは、これらのリソースをホストプロビジョニングプロセスに適用する方法を説明します。

次の章では、プロビジョニング用にネットワークインフラストラクチャーを設定する方法について説明します。