第1章 概要

1.1. プロビジョニングの概要

プロビジョニングとは、ベアメタルの物理または仮想マシンから、オペレーティングシステムの全設定を行い、使用準備を整えるまでのプロセスを指します。Red Hat Satellite を使用して、多数のホストに対して細かく設定を指定したプロビジョニングを定義し、自動化できます。

プロビジョニングには多数の方法があります。たとえば、Satellite Server の統合 Capsule や外部 Capsule Server は、PXE ベースと PXE を使用しない方法の両方を使ってベアメタルシステムをプロビジョニングできます。同様に Satellite Server は、API 経由で特定のプロバイダーからクラウドインスタンスをプロビジョニングできます。これらのプロビジョニング方法は、ホストの作成、管理、更新など Red Hat Satellite アプリケーションライフサイクルに含まれます。

Red Hat Satellite では、さまざまな方法で、ホストをプロビジョニングできます。

ベアメタルプロビジョニング
Satellite は、主に PXE ブートおよび MAC アドレス特定により、ベアメタルホストをプロビジョニングします。ホストエントリーを作成して、プロビジョニングする物理ホストの MAC アドレスを指定してください。また、空のホストを起動して、Satellite の Discovery サービスを使用することで、プロビジョニングの準備が整ったホストのプールを作成できます。また、PXE なしの方法で、ホストを起動してプロビジョニングすることもできます。
クラウドプロバイダー
Satellite は、プライベートおよびパブリッククラウドプロバイダーに接続して、クラウド環境に保存されているイメージからホストのインスタンスをプロビジョニングします。これには、使用するハードウェアプロファイルまたはフレーバーの選択も含まれます。
仮想化インフラストラクチャー
Satellite は、Red Hat Virtualization および VMware などの仮想化インフラストラクチャーサービスに接続します。これにより、仮想イメージテンプレートから、またはベアメタルプロバイダーと同じ PXE ベースのブート方法を使用して、仮想マシンをプロビジョニングする方法を実行できます。

1.2. ネットワークブートのプロビジョニングワークフロー

PXE ブートは、物理または仮想ホストの起動デバイスの順序として、1 番目がネットワーク、2 番目がハードドライブに設定されていることが前提です。

プロビジョニングプロセスは、基本的な PXE のワークフローに従います。

  1. ホストを作成して、ドメインとサブネットを選択します。Satellite は、サブネットに関連付けられている DHCP Capsule Server、または Satellite の PostSQL データベースから、利用可能な IP アドレスを要求し、この IP アドレスを「ホスト作成」ウインドウの IP アドレス のフィールドにロードします。新規ホストの全オプションを入力したら、新規ホストの要求を送信します。
  2. ホストとそのドメインおよびサブネットの設定仕様に応じて、Satellite は次の設定を作成します。

    • サブネットが関連付けられた Capsule Server の DHCP レコード
    • ドメインに関連付けられた Capsule Server の正引き DNS レコード
    • サブネットが関連付けられた DNS Capsule Server の逆引き DNS レコード
    • サブネットが関連付けられた TFTP Capsule Server にあるホストの PXELinux、Grub、Grub2、iPXE 設定ファイル
    • 関連する Puppet サーバーの Puppet 証明書
    • 関連付けられた ID サーバーのレルム
  3. 新規ホストが DHCP サーバーから DHCP 予約を要求します。
  4. DHCP サーバーは予約要求に応答し、TFTP の next-serverfilename オプションを返します。
  5. ホストは、PXELoader の設定をもとに、TFTP サーバーからブートローダーやメニューを要求します。
  6. ブートローダーは TFTP 経由で返されます。
  7. ブートローダーはプロビジョニングインターフェースの MAC アドレスを介してホストの設定を取得します。
  8. ブートローダーはオペレーティングシステムのインストーラーカーネル、初期 RAM ディスク、およびブートパラメーターを取得します。
  9. インストーラーは Satellite からプロビジョニングテンプレートを要求します。
  10. Satellite はプロビジョニングテンプレートをレンダリングし、結果をホストに返します。
  11. インストーラーはオペレーティングシステムをインストールします。

    • インストーラーは Red Hat Subscription Manager を使用してホストを Satellite に登録します。
    • インストーラーは katello-agentpuppet などの管理ツールをインストールします。
    • インストーラーは Satellite に対し、postinstall スクリプトで正常なビルドについて通知します。
  12. PXE 設定ファイルはローカルブートテンプレートに戻ります。
  13. ホストは再起動します。
  14. 新規ホストが DHCP サーバーから DHCP 予約を要求します。
  15. DHCP サーバーは予約要求に応答し、TFTP の next-serverfilename オプションを返します。
  16. ホストは、PXELoader の設定をもとに、TFTP サーバーからブートローダーやメニューを要求します。
  17. ブートローダーは TFTP 経由で返されます。
  18. ブートローダーはプロビジョニングインターフェースの MAC アドレスを介してホストの設定をフェッチします。
  19. ブートローダーはローカルドライブから起動を開始します。
  20. ホストで Puppet クラスを使用するように設定している場合は、ホストはモジュールを使用して設定を行います。

ワークフローはカスタムのオプションにより異なります。以下に例を示します。

検出
検出サービスを使用している場合には、Satellite は新規ホストの MAC アドレスを自動的に検出し、要求の送信後にホストを再起動します。Satellite でホストを再起動できるように、ホストのアタッチ先の Capusule から TCP ポート 8443 にアクセスできなければならないことに注意してください。
PXE なしのプロビジョニング
新規ホストの要求の送信後に、Satellite Server からダウンロードして、ホストの USB ポートを使用して転送したブートディスクで特定のホストを起動する必要があります。
コンピュートリソース
Satellite は仮想マシンを作成して、MAC アドレスを取得し、Satellite にその MAC アドレスを保存します。イメージベースのプロビジョニングを使用する場合には、ホストは、標準の PXE ブートやオペレーティングシステムのインストールを行うわけではありません。コンピュートリソースは、使用するホストのイメージのコピーを作成し、Satellite のイメージ設定に合わせて、cloud-init を使用するなど、シードデータを初期設定用に渡すことができます。Satellite は SSH を使用してホストに接続し、テンプレートを実行してカスタマイズを完了できます。