第2章 設定管理プロバイダー

現在 Red Hat CloudForms には、複数の異なるプロバイダーが存在するために発生する混乱やエラーをなくために、設定項目とそれらに対する変更のレビューとモニタリングを行う 2 つの設定管理プロバイダーが統合されています。これらの設定システムは、設定項目のステータスと変更アクティビティーを記録および報告するのに使用されます。

2.1. Red Hat Satellite 6

Satellite 6 は、Puppet モジュールのセットを使用してホスト (仮想およびベアメタル) のプロビジョニングと設定を行う手段を提供するサブスクリプションおよびシステム管理のツールです。Red Hat CloudForms は Red Hat Satellite 6 サーバーと統合して、その特性を活用するための機能性を提供します。これには、以下が含まれます。

  • 独立したホスト、ホストグループを使用してプロビジョニングされたホストを含む、Red Hat Satellite 6 サーバーインベントリーの監視
  • 新規ホストグループへの既存のベアメタルシステムホストの再プロビジョニング
  • ホストへの Red Hat CloudForms ポリシータグの適用
重要

Red Hat CloudForms は、Red Hat Satellite 6 環境内の既存のシステムを再プロビジョンするのみです。Red Hat Satellite 6 のベアメタル検出サービスは、今後のリリースで導入される予定です。

2.1.1. ワークフローの定義

本項では、以下のワークフローを使用します。

  1. Red Hat Satellite 6 サーバーの情報を Red Hat CloudForms に追加します。
  2. Red Hat CloudForms で、Red Hat Satellite 6 プロバイダーの状態を更新します。
  3. Red Hat Satellite 6 から、再プロビジョニングする既存のベアメタルホストを選択します。
  4. Red Hat Satellite 6 ホストにポリシータグを適用します。

2.1.2. ホストグループ階層の定義

Red Hat CloudForms は、ホストグループおよびホストリレーションシップ内の Red Hat Satellite 6 インフラストラクチャーを表示します。ホストグループは、ホストがそのグループに配置される際に継承するデフォルト値のセットを定義します。ホストは、1 つのホストグループにのみ属することができますが、ホストグループは、複数の階層に入れ子にすることができます。組織内の全ホストを表す「ベース」または「親」のホストグループを作成してから、ネストされたホストグループまたは「子」ホストグループを親の下に作成して、特定の設定を指定します。

2.1.3. Satellite 6 プロバイダーの追加

ベアメタルマシンのプロビジョニングを開始するには、Red Hat CloudForms に Red Hat Satelllite 6 プロバイダーを少なくとも 1 つ追加する必要があります。

  1. 構成管理 に移動します。
  2. 構成新規プロバイダーの追加 を選択します。
  3. プロバイダーの 名前 を入力します。
  4. プロバイダーの URL を入力します。これは、Satellite 6 サーバーのルート URL で、IP アドレスまたはホスト名を指定することができます (例: http://satellite6.example.com)。
  5. プロバイダーとの間で暗号化された通信を使用する場合には、ピア証明書の検証 を選択します。これには、Red Hat Satellite 6 プロバイダーからの SSL 証明書 が必要です。
  6. プロバイダー上のユーザーの ユーザー名 を入力します。これには、管理権限を持つ Satellite 6 のユーザーが理想的です。
  7. パスワード を入力して、パスワードの確認 に再入力します。
  8. 検証 をクリックして、Red Hat Satellite 6 サーバーとの接続をテストします。
  9. 追加 をクリックして、設定を確認し、プロバイダーを保存します。

Red Hat CloudForms はデータベースに Satellite 6 プロバイダーを保存し、そのプロバイダー内で検出されたリソースの更新をトリガーします。

2.1.4. Satellite 6 プロバイダーの更新のトリガー

Satellite 6 プロバイダーは引き続き、Red Hat CloudForms とは無関係に新規ホストを作成することが可能です。Red Hat CloudForms アプライアンスは、自動更新期間が経過すると、これらの変更を検出しますが、自動更新を待たずに、更新を手動でトリガーすることも可能です。

  1. 構成管理 に移動します。
  2. チェックボックスで Red Hat Satellite 6 プロバイダーを選択し、構成リレーションシップと電源状態の更新 をクリックします。これにより、更新がトリガーされます。
  3. 更新が完了したら、対象の Red Hat Satellite 6 プロバイダーを選択して、そのプロバイダー内のホストグループの更新されたリストを確認します。

2.1.5. Red Hat Satellite 6 のコンテンツの表示

Red Hat CloudForms で Red Hat Satellite 6 プロバイダーのコンテンツを表示するには、2 つの方法があります。

  • プロバイダー: このビューは、Red Hat Satellite 6 のコンテンツを、プロバイダーに属するホストグループと、各プロバイダーに属する個別のホストの階層として表示します。
  • 構成済みシステム: このビューは、Red Hat Satellite 6 サーバー上の全ホストの一覧を表示します。また、事前定義済みのフィルターを使用して、特定のマシンを整理する方法も提供します。

これらの 2 つのビューを切り替えるには、ユーザーインターフェースの左側にあるアコーディオンメニューを使用してください。

2.1.6. ベアメタルホストの再プロビジョニング

以下の手順では、既存のベアメタルシステムを新規ホストグループに再プロビジョニングする例を説明します。この例では、Red Hat Satellite 6 環境に以下の項目が必要です。

  • Red Hat Satellite 6 サーバー内のホストオブジェクトとして保管された既存のベアメタルシステム。このシステムは、以下のいずれかを指定することができます。

    • ホストグループなしで以前にプロビジョニングされたスタンドアロンシステム
    • ホストグループを使用して以前にプロビジョニングされたシステム
  • ターゲットホストグループ。このホストグループには、ホストを再プロビジョニングする際に適用するシステム設定が含まれます。これには、以下が含まれます。

    • 新規オペレーティングシステムをインストールした環境。新しいパーティションテーブルを含む。
    • Red Hat Satellite 6 サーバーが定義/管理する新規ネットワーク設定
    • Red Hat サブスクリプションへの登録と、ホストグループに割り当てられるリポジトリー
    • ホストグループに割り当てられる Puppet モジュールのアプリケーション
  1. 構成管理 に移動します。
  2. 画面左側のアコーディオンメニューから 構成済みシステム を選択し、システムの一覧を表示します。
  3. 再プロビジョニングするホストを 1 つまたは複数選択します。
  4. ライフサイクル構成済みシステムのプロビジョニング を選択します。
  5. 要求 タブで、以下の情報を入力します。

    1. メールアドレス
    2. このフォームには、ユーザーが Red Hat CloudForms の管理者に特別な詳細情報を提供するためにプレーンテキスト形式の メモ を入力するオプションのフィールドと、管理者がユーザーのマネージャーの承認を得る必要がある場合のためにマネージャーの名前を入力するフィールドが含まれています。
  6. 目的 のタブを選択し、そのシステムに適用する Red Hat CloudForms のポリシータグを選択します。
  7. カタログ タブを選択します。この画面には、再プロビジョニングに選択したマシンと現在の情報を示す一覧が表示されます。構成プロファイル の一覧から ターゲットホストグループ を 1 つ選択します。Red Hat CloudForms は Red Hat Satellite と通信して、このホストグループから選択したホストに構成を適用し、システムを再プロビジョニングします。
  8. カスタマイズ タブを選択します。この画面には、選択したシステムのカスタマイズ可能なフィールドがいくつか表示されます。root パスワード を変更したり、ホスト名IP アドレス を変更することができます。Red Hat Satellite 6 にはこの情報が含まれているので、これらのフィールドはオプションであることに注意してください。このフィールドの設定により、ホストグループの設定が上書きされます。

    重要

    ベアメタルのプロビジョニングには Red Hat Satellite 6 が管理するネットワークへのアクセスが必要な点は変わりません。これは、Red Hat Satellite がベアメタルシステムの PXE ブート、キックスタート、および Puppet 設定を制御するためです。Red Hat CloudForms に入力する IP アドレスが、Red Hat Satellite 6 のメインサーバーまた Red Hat Satellite 6 Capsule サーバー提供される DHCP サービスにアクセスできることを確認してください。

  9. カスタマイズ タブを選択します。この画面では、承認直後にプロビジョニングプロセスを直ちに開始するか、スケジュールを使用して実行することができます。スケジュール をクリックして、プロビジョニングのスケジュールに使用する日時を表示します。
  10. 送信 をクリックします。

Red Hat CloudForms アプライアンス上の要求の設定によっては、このプロビジョニング要求に管理者の承認が必要な場合があります。承認が必要でない場合には、プロビジョニング要求はスケジュールの選択に応じて開始されます。

注記

以前にプロビジョニングされたホストは、ブートメニューから手動で PXE ブートを選択しなければ、ハードディスクでブートして、再プロビジョニングされない可能性があります。

2.1.7. ベアメタルホストのタグ付け

Red Hat CloudForms はタグ付けによって Red Hat Satellite 6 からのベアメタルシステムのポリシー設定を制御することも可能です。タグ付けにより、システムのセットに必要なポリシールールを定義するのに役立つメタデータのレベルがアタッチされます。

  1. 構成管理 に移動します。
  2. 画面左側のアコーディオンメニューから 構成済みシステム を選択し、システムの一覧を表示します。
  3. タグ付けするホストを 1 つまたは複数選択します。
  4. ポリシータグの編集 を選択します。
  5. タグの割り当て割り当てるカスタマータグの選択 からタグを選択して、割り当てる値の選択 から値を選択します。たとえば、Location をタグに、Chicago を値に選択すると、このシステムをシカゴにあるものとしてタグを付けることができます。選択が完了すると、ユーザーインターフェースは自動的にこのタグと値を以下のテーブルに追加します。
  6. 保存 をクリックします。

ベアメタルシステムがポリシータグのセットで設定されました。

2.2. Ansible Tower

Ansible Tower は、Red Hat CloudForms に統合された管理ツールで、インフラストラクチャーの運用の自動化を支援するために設計されています。Red Hat CloudForms では、サービスカタログと自動化を使用して Ansible Tower のジョブを実行することができます。設定は、プレイブックを使用して Ansible Tower 内で行われるので、Red Hat CloudForms ではカスタムの設定や Ruby のスクリプトは必要ありません。

既存の Ansible プレイブックの大型のライブラリーを Red Hat CloudForms のステートマシンとして使用すると、Red Hat CloudForms 環境におけるバックアップやパッケージの更新、メンテナンスなどのタスクを自動化することができます。これには、Red Hat Satellite エージェントを必要に応じてベアメタルマシン上にデプロイする操作も含まれます。これは、特に多数の仮想マシンやインスタンスのある大型環境全体に変更を迅速に適用するのに特に役立ちます。Ansible Tower を使用すると、Ansible のプレイブックの実行をスケジュールして、現在および過去の結果をモニタリングし、トラブルシューティングを行ったり、問題が発生する雨に特定することができます。

Red Hat CloudForms を Ansible Tower プロバイダーとともに使用する場合の基本ワークフローは以下のとおりです。

  1. 特定のタスクを実行する Ansible プレイブックを作成します。
  2. 新しい Ansible Tower Job テンプレートは、プレイブックから作成され、Red Hat CloudForms によって取得されます。
  3. Ansible Tower Job テンプレートから、Red Hat CloudForms の新規カタログ項目を作成します。また、オプションとして、ユーザーが必要に応じてパラメーターを入力することができるサービスダイアログを作成します。
  4. ユーザーは Red Hat CloudForms のユーザーインターフェースからサービスをオーダーして、追加の引数 (例: 特定の仮想マシンセットで実行するタスクを制限するなど) を記入します。
  5. ジョブが実行されます。
注記

Ansible プレイブックについての詳しい情報は、Ansible プレイブックのドキュメント を参照してください。

2.2.1. Ansible Tower プロバイダーの追加

Red Hat CloudForms から Ansible Tower インベントリーにアクセスするには、Ansible Tower をプロバイダーとして追加する必要があります。

  1. 構成管理プロバイダー に移動します。
  2. Configuration 構成Add a new Provider 新規プロバイダーの追加 をクリックします。
  3. 新規構成管理プロバイダーの追加 のセクションで以下のように設定します。

    Add_Ansible_Provider

    1. 新規プロバイダーの 名前 を入力します。
    2. タイプ のフィールドで、一覧から Ansible Tower を選択します。
    3. Ansible Tower サーバーの URL ロケーションまたは IP アドレスを入力します。
  4. 必要な場合には、ピア証明書の検証 のチェックボックスを選択します。
  5. 認証情報 のセクションで ユーザー名パスワードパスワードの確認 のフィールドに入力します。
  6. 追加 をクリックします。

Ansible Tower プロバイダーを追加した後には、リレーションシップと電源状態を更新して、現在のインベントリーが表示されるようにします。

2.2.2. Ansible Tower プロバイダーの更新

インベントリー、ホスト、仮想マシン、クラスターを含む既存の Ansible Tower の構成管理プロバイダーに関連した全項目のリレーションシップを更新します。

Red Hat CloudForms からインベントリーを更新するか、Ansible Tower 内のインベントリーグループの Update on Launch オプションを有効にします。Update on Launch オプションにより、プレイブックから Ansible Tower ジョブを起動する前に、動的インベントリースクリプトを使用して Ansible Tower は自動的にインベントリーを更新することができます。詳しくは、Ansible Tower のドキュメント を参照してください。

重要

多数の仮想マシンまたはインスタンスがあるプロバイダーから情報を取得するには長時間かかる場合があります。Ansible Tower の動的インベントリースクリプトを編集して、更新を特定の項目に限定して、更新時間を短縮することが可能です。

Red Hat CloudForms で Ansible Tower プロバイダーのインベントリーを更新するには、以下のステップを実行します。

  1. 構成管理プロバイダー に移動します。
  2. すべての Ansible Tower プロバイダー で更新する Ansible Tower プロバイダーのチェックボックスを選択します。
  3. Configuration (構成) をクリックして、 Refresh Relationships and Power States (リレーションシップと電源状態の更新) を選択します。
  4. OK をクリックします。

Red Hat CloudForms は次に Ansible Tower API に対してクエリーを実行し、利用可能なホストと Job テンプレートのインベントリーを取得します。

2.2.3. Ansible Tower プロバイダーとインベントリーの表示

Red Hat CloudForms は、Ansible Tower からインベントリーを自動的に更新します。これには、システムグループ (Ansible Tower 内のインベントリー)、個々のシステムに関する基本情報、サービスカタログまたは自動化から実行される、利用可能な Ansible Tower Job テンプレートが含まれます。

注記

Red Hat CloudForms で Ansible Tower のインベントリーと Job テンプレートを表示およびアクセスするには、まず最初にそれらを Ansible Tower で作成する必要があります。

Ansible Tower プロバイダーとインベントリーの一覧を表示するには、以下のステップを実行します。

  1. 構成管理プロバイダー に移動します。
  2. すべての構成マネージャープロバイダーAnsible Tower プロバイダー のアコーディオンメニューを選択してプロバイダーの一覧を表示します。
  3. お使いの Ansible Tower プロバイダーを選択して、その Ansible Tower システム上にあるインベントリーグループを展開し、一覧表示します。インベントリーグループを展開すると、各グループに含まれるシステムと、それらのシステムの構成についての詳細情報が表示されます。

同様に、検出された Job テンプレートは 構成管理Ansible Tower Job テンプレート のアコーディオンメニューを展開すると、そのプロバイダーの下に表示されます。

2.2.4. Ansible Tower 構成済みシステム

Ansible Tower のインベントリーを表示するには、以下のステップを実行します。

  1. 構成管理構成済みシステム に移動します。
  2. すべての構成済みシステムAnsible Tower 構成済みシステム を選択して一覧を表示します。

2.2.5. サービスカタログからの Ansible Tower Job テンプレートの実行

Ansible Tower Job テンプレートからサービスカタログ項目を作成して、Red Hat CloudForms から Ansible Tower プレイブックを実行することができます。

重要

まず最初に、Ansible Tower で Job テンプレートを作成する必要があります。作成したテンプレートは、Ansible Tower プロバイダーのインベントリーを更新すると、Red Hat CloudForms によって自動的に検出されます。

最初にカタログを作成します。

  1. サービスカタログ に移動します。
  2. Configuration (構成) をクリックして、 Add a New Catalog (新規カタログの追加) を選択します。
  3. カタログの 名前説明 を入力します。
  4. 追加 をクリックします。

次に Ansible Tower サービスカタログ項目を作成します。

  1. 構成管理 に移動します。
  2. Ansible Tower Job テンプレート をクリックして Ansible Tower Job テンプレートを選択します。
  3. Configuration (構成) をクリックして、 Create Service Dialog from this Job Template (この Job テンプレートからサービスダイアログを作成する) を選択します。
  4. サービスダイアログ名 (例: ansible_tower_job など) を入力して 保存 をクリックします。
  5. サービスカタログ に移動して、カタログ項目 をクリックします。
  6. Configuration (構成) をクリックして Add a New Catalog Item (新規カタログ項目の追加 ) を選択し、少なくとも以下の情報を指定して新規カタログ項目を作成します。

    • カタログ項目タイプ には Ansible Tower を選択します。
    • サービスカタログ項目の 名前 を入力します。
    • カタログ内に表示 を選択します。
    • カタログ で、以前に作成したカタログを選択します。
    • ダイアログ で以前に作成したサービスダイアログ (この例では ansible_tower_job) を選択します。プレイブックにユーザーからの追加のパラメーターが必要ない場合には、ダイアログなし を選択することが可能です。タスク実行時にユーザーに追加の情報の入力を要求するには、サービスダイアログ を選択する必要があります。
    • プロバイダー でお使いの Ansible Tower プロバイダーを選択すると、Ansible Tower Job テンプレート オプションが表示され、プロビジョニングのエントリーポイントのステートマシン が自動的に設定されます。
    • 一覧から必要な Ansible Tower Job テンプレート を選択します。通常、これには、サービスダイアログの作成に使用した Ansible Tower Job テンプレートを選択します。

      Add AT Service Catalog Item

  7. 追加 をクリックします。作成したカタログ項目が 全サービスカタログ項目 の一覧に表示されます。

Ansible Tower Job を実行するには、以下のステップを実行します。

  1. サービスカタログAnsible Tower カタログ に移動します。

    Order AT Catalog Item

  2. カタログアイテムの オーダー をクリックします。
  3. 要求するパラメーターを入力して 送信 をクリックします。

Red Hat CloudForms の 要求 キューのページが開き、ジョブのステータスが表示されます。

サービス項目の詳細は、Red Hat CloudForms の サービスマイサービス で確認することができます。

注記

1 回ごとに単一のジョブを実行する代わりに、複数のサービスカタログ項目をカタログバンドルとしてグループ化して、複数のジョブテンプレートを使用する単一のデプロイメントを作成することができます。詳しい情報は、『仮想マシンとホストのプロビジョニング』「カタログとサービス」を参照してください。

2.2.6. カスタムの自動化ボタンを使用した Ansible Tower Job の実行

Red Hat CloudForms では、自動化のカスタムボタンを使用して、Ansible Tower のジョブを仮想マシンまたはインスタンスで実行することができます。

Ansible Tower のジョブは、ユーザーによる追加の設定を必要としないようにカスタマイズ不可とするか、ユーザーがパラメーター (例: インストールするパッケージ名など) を指定できるようにすることができます。ダイアログが含まれている Ansible Tower のジョブでは、Red Hat CloudForms はユーザーからの追加情報を受け入れ、自動化で適切な API コールに追加してから、Ansible Tower に送信します。

前提条件

Ansible Tower Job を実行する自動化ボタンを作成する前に、以下の項目を設定する必要があります。

  • Ansible Tower 内の Ansible プレイブック。手順については、Ansible Tower documentation を参照してください。
  • Ansible Tower は、Red Hat CloudForms でデプロイされた仮想マシンまたはインスタンスに IP レベルで接続できる必要があります。
  • 仮想マシンテンプレートには、Ansible Tower 環境のパブリック SSH キーを注入する必要があります。クラウドインスタンスの場合には、cloud-init を使用可能で、イメージを再ビルドせずにパブリック SSH キーを渡すことができます。
  • 使用する動的インベントリースクリプトは、UUID を追記せずに、Red Hat CloudForms で保管されている通りの仮想マシン名を返すように設定する必要があります。

カスタムの自動化ボタンを使用した Ansible Tower ジョブの実行

仮想マシンまたはインスタンス上で Ansible Tower ジョブを実行するためのカスタムボタンを設定するには、まず最初にボタンを作成します。

  1. 自動化カスタマイズ に移動します。
  2. ボタン のアコーディオンメニューをクリックします。
  3. 仮想マシンおよびインスタンス未割り当てボタン をクリックして、仮想マシンまたはインスタンス上で実行するボタンを設定します。
  4. 1847 (構成) をクリックして 1862 (新規ボタンの追加) を選択します。

    • 新規ボタンの追加 の画面で、必要に応じて アクション パラメーターを設定します。プレイブックで追加のパラメーターが必要ない場合には、ダイアログ を空白のままにすることができます。タスクの実行時にユーザーが追加の情報を入力するように要求するには、サービスダイアログ を選択する必要があります。
    • オブジェクト詳細 フィールドに以下にあげる要求の詳細を設定します。

      • システム/プロセス には、要求 を選択します。
      • メッセージ には 作成 を入力します。
      • 要求 には、Ansible_Tower_Job と入力します。
    • 属性と値のペア は、次のパラメーターで設定します。

      • job_template_name には、ボタンに関連付ける Ansible Tower Job テンプレート名を指定します。job_template_name フィールドは必須です。その他のパラメーターは Tower のジョブダイアログで指定します。
    • 全ユーザーに対して 可視性 を設定するか、必要に応じてロール別に可視性を制限します。

      Add button

    • 追加 をクリックします。

新規ボタンを割り当てる既存のボタングループがない場合には、新しいボタングループを作成します。

  1. 自動化カスタマイズ から ボタン仮想マシンおよびインスタンス新規ボタングループの追加 に移動し、以下の設定を行います。

    • 必要に応じて 基本情報 を設定します。たとえば、ボタングループの名前を VM Actions に指定します。
    • ボタンの割り当て で、前のステップで作成したボタンを 未割り当て の一覧から選択し、 1876 をクリックして 選択内容 に移動します。

      Create button group

    • 追加 をクリックします。

ボタンを既存のボタングループに割り当てるには、以下のステップを実行します。

  1. ボタン仮想マシンおよびインスタンスVM Actionsこのボタングループの編集 に移動します。
  2. ボタンの割り当て で、前のステップで作成したボタンを 未割り当て の一覧から選択し、 1876 をクリックして 選択内容 に移動します。
  3. 追加 をクリックします。

ボタンを使用して Ansible Tower のジョブを仮想マシンで実行するには、以下のステップに実行します。

  1. コンピュートインフラストラクチャー仮想マシン に移動します。
  2. Ansible Tower ジョブテンプレートを実行する仮想マシンを選択します。
  3. VM Actions ボタンをクリックして、作成したボタンを表示します。一覧から、Ansible Tower Job テンプレートを実行するためのボタンをクリックします。

    Run Update Button

  4. 送信 をクリックしてジョブを実行します。

Red Hat CloudForms はジョブが実行されたことを確認するメッセージを表示します。

ボタンの作成時にサービスダイアログを選択した場合には、Red Hat CloudForms はタスクを完了するためのパラメーターを入力するように要求します。必要なパラメーターを入力した後には、Red Hat CloudForms で 要求 のページが表示されます。

サービス項目の詳細は、Red Hat CloudForms の サービスマイサービス で確認することができます。