Red Hat Training

A Red Hat training course is available for Red Hat Satellite

第6章 Red Hat Satellite と Ansible Tower の統合

Red Hat Satellite 6.4 と Ansible Tower を統合して、Ansible Tower の動的インベントリーソースとして Satellite Server を使用します。

また、ホストまたは Ansible Tower のいずれかから、Satellite が管理するホストで Playbook を実行するようにプロビジョニングコールバック機能を使用できます。Satellite Server から新しいプロビジョニングする際に、プロビジョニングコールバック機能により、Ansible Tower から Playbook を実行します。Playbook は、以下のキックスタートデプロイメントに従うようにホストを設定します。

6.1. Satellite Server を動的インベントリー項目として Ansible Tower に追加

Satellite Server をダイナミックインベントリー項目として Ansible Tower に追加するには、Ansible Tower に Satellite Server ユーザーの認証情報を作成し、 Ansible Tower ユーザーを認証情報に追加してから、インベントリーソースを設定する必要があります。

前提条件

Satellite Server と Ansible Tower が、証明書とコールバックを使用して通信します。

  • 必要なパーミッションフィルターを持つ統合ロールが割り当てられている Satellite Server ユーザーが必要になります。ユーザー、ロール、およびパーミッションフィルターの管理方法は、『Red Hat Satellite の管理』「ユーザーとロールの管理」および「ロールの作成および管理」を参照してください。
  • 以下のパーミッションフィルターを指定して、ロールをユーザーに割り当てる必要があります。

    表6.1 パーミッションフィルター

    リソースパーミッションアクセスの説明

    ホスト

    view_hosts

    Satellite Server ホストを表示します。

    ホストグループ

    view_hostgroups

    Satellite Server ホストグループを表示します。

    ファクト値

    view_facts

    Satellite Server ファクトを表示します。

Satellite Server を動的インベントリー項目として Ansible Tower に追加

  1. Ansible Tower Web UI で、Satellite に対して認証情報を作成します。認証情報の作成方法は『Ansible Tower ユーザーガイド』「新規認証情報の追加」および「Red Hat Satellite 6 認証情報」を参照してください。

    表6.2 Satellite の認証情報

    認証情報の種類:

    Red Hat Satellite 6

    Satellite 6 URL:

    https://satellite.example.com

    ユーザー名:

    統合ロールを持つ Satellite ユーザーのユーザー名。

    パスワード:

    Satellite ユーザーのパスワード。

  2. 新しい認証情報に Ansible Tower ユーザーを追加します。ユーザーを認証情報に追加する方法は『Ansible Tower ユーザーガイド』「認証情報の使用開始」を参照してください。
  3. Satellite Server を新しいインベントリーソースとして追加し、以下のインベントリーソースオプションを指定します。インベントリーを追加する方法は『Anabilities Tower ユーザーガイド』「新規インベントリーの追加」を参照してください。

    表6.3 インベントリーソースオプション

    ソース:

    Red Hat Satellite 6

    認証情報:

    Satellite Server に作成した認証情報。

    上書き:

    選択

    起動時の更新:

    選択

    キャッシュのタイムアウト:

    90

インベントリー管理の詳細は 『Ansible Tower ユーザーガイド』「インベントリー」を参照してください。

6.2. ホストへのプロビジョニングコールバックの設定

Ansible Tower テンプレートにプロビジョニングコールバックを設定できます。設定すると、Ansible Tower サーバーで特定の URL を呼び出して、変数を渡し、呼び出しシステムで Playbook を実行できます。

新たにデプロイしたホストで Playbook を実行するのに、この機能を使用することもできます。プロビジョニングコールバックの詳細は『Anabilities Tower ユーザーガイド』「プロビジョニングコールバック」を参照してください。

Satellite の Satellite Kickstart Default テンプレートおよび Satellite Kickstart Default Finish テンプレートには、以下の 3 つのスニペットが含まれます。

  1. ansible_provisioning_callback
  2. ansible_tower_callback_script
  3. ansible_tower_callback_service

ホストまたはホストグループにプロビジョニングコールバックを設定するには、各スニペットにパラメーターを作成して定義する必要があります。

前提条件

  • ホストにプロビジョニングコールバックを設定する前に、Red Hat Satellite 6.4 と Ansible Tower を統合する必要があります。詳細は「Satellite と Ansible Tower の統合」を参照してください。
  • Ansible Tower Web UI で、プロビジョニングコールバックを有効にし、ホストの設定キーを生成し、ジョブテンプレートの template_ID を取得する必要があります。ジョブテンプレートの詳細は 『Ansible Tower ユーザーガイド』「ジョブテンプレート」を参照してください。

ホストのプロビジョニングコールバックの設定

  1. Red Hat Satellite Web UI で、ホスト > すべてのホスト に移動します。
  2. ホストページで、ホスト の一覧から、編集するホストを選択します。
  3. ホストグループウィンドウで パラメーター タブをクリックします。
  4. ホストパラメーターウィンドウで、パラメーターの追加 をクリックします。
  5. 名前 フィールドに、ansible_tower_provisioning と入力します。
  6. フィールドに、true と入力します。
  7. ステップ 4 から 6 を繰り返して、以下のパラメーターを作成します。

    表6.4 ホストパラメーター

    名前説明

    ansible_tower_provisioning

    true

    プロビジョニングコールバックを有効にします。

    ansible_tower_fqdn

    tower.example.com

    Ansible Tower の完全修飾ドメイン名 (FQDN)。

    ansible_job_template_id

    template_ID

    テンプレートの URL で確認できるプロビジョニングテンプレートの ID (/templates/job_template/5)。

    ansible_host_config_key

    config_KEY

    Ansible Tower のジョブテンプレートが作成したホスト設定キー。

  8. 必要なパラメーターをすべて作成したら 送信 をクリックします。
  9. プロビジョニングコールバックが正しく設定されていることを確認するには、ansible-callback サービスを開始し、サービスのステータスを確認します。

    1. コマンドラインで、以下のコマンドを実行して、ansible-callback サービスを開始します。

      # systemctl start ansible-callback
    2. コマンドラインで、以下のコマンドを実行して、ansible-callback サービスのステータスを出力します。

      # systemctl status ansible-callback

      プロビジョニングコールバックが正しく設定されていると、以下の出力が返ります。

      SAT_host systemd[1]: Started Provisioning callback to Ansible Tower...

ホストグループにプロビジョニングコールバックの設定

  1. Red Hat Satellite Web UI で、設定 > ホストグループ に移動します。
  2. ホストグループページで、ホストグループ 一覧から、編集するホストグループを選択します。
  3. ホストグループウィンドウで パラメーター タブをクリックします。
  4. ホストグループウィンドウで、パラメーターの追加 をクリックします。
  5. 名前 フィールドに、ansible_tower_provisioning と入力します。
  6. フィールドに、true と入力します。
  7. ステップ 4 から 6 を繰り返して、以下のパラメーターを作成します。

    表6.5 ホストグループパラメーター

    名前説明

    ansible_tower_provisioning

    true

    プロビジョニングコールバックを有効にします。

    ansible_tower_fqdn

    tower.example.com

    Ansible Tower の完全修飾ドメイン名 (FQDN)。

    ansible_job_template_id

    template_ID

    テンプレートの URL で確認できるプロビジョニングテンプレートの ID (/templates/job_template/5)。

    ansible_host_config_key

    config_KEY

    Ansible Tower のジョブテンプレートが作成したホスト設定キー。

  8. 必要なパラメーターをすべて作成したら 送信 をクリックします。
  9. プロビジョニングコールバックが正しく設定されていることを確認するには、ansible-callback サービスを開始し、サービスのステータスを確認します。

    1. コマンドラインで、以下のコマンドを実行して、ansible-callback サービスを開始します。

      # systemctl start ansible-callback
    2. コマンドラインで、以下のコマンドを実行して、ansible-callback サービスのステータスを出力します。

      # systemctl status ansible-callback

      プロビジョニングコールバックが正しく設定されていると、以下の出力が返ります。

      SAT_host systemd[1]: Started Provisioning callback to Ansible Tower...

プロビジョニングコールバック URL と、ホストの設定キーを使用して Ansible Tower を呼び出します。これにより、ホストに対してテンプレートで指定した Playbook が実行します。

プロビジョニングコールバック機能を使用して、プロビジョニングプロセスの一部として、Ansible Tower から Playbook を呼び出せます。Playbook は、キックスタートのデプロイメント後にホストを設定します。