第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 の管理』の「ユーザーとロールの管理」および「ロールの作成および管理」を参照してください。
以下のパーミッションフィルターを指定して、ロールをユーザーに割り当てる必要があります。
Expand 表6.1 パーミッションフィルター リソース パーミッション アクセスの説明 ホスト
view_hostsSatellite Server ホストを表示します。
ホストグループ
view_hostgroupsSatellite Server ホストグループを表示します。
ファクト値
view_factsSatellite Server ファクトを表示します。
Satellite Server を動的インベントリー項目として Ansible Tower に追加
Ansible Tower Web UI で、Satellite に対して認証情報を作成します。認証情報の作成方法は『Ansible Tower ユーザーガイド』の「新規認証情報の追加」および「Red Hat Satellite 6 認証情報」を参照してください。
Expand 表6.2 Satellite の認証情報 認証情報の種類:
Red Hat Satellite 6
Satellite 6 URL:
https://satellite.example.com
ユーザー名:
統合ロールを持つ Satellite ユーザーのユーザー名。
パスワード:
Satellite ユーザーのパスワード。
- 新しい認証情報に Ansible Tower ユーザーを追加します。ユーザーを認証情報に追加する方法は『Ansible Tower ユーザーガイド』の「認証情報の使用開始」を参照してください。
Satellite Server を新しいインベントリーソースとして追加し、以下のインベントリーソースオプションを指定します。インベントリーを追加する方法は『Anabilities Tower ユーザーガイド』の「新規インベントリーの追加」を参照してください。
Expand 表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 つのスニペットが含まれます。
-
ansible_provisioning_callback -
ansible_tower_callback_script -
ansible_tower_callback_service
ホストまたはホストグループにプロビジョニングコールバックを設定するには、各スニペットにパラメーターを作成して定義する必要があります。
前提条件
- ホストにプロビジョニングコールバックを設定する前に、Red Hat Satellite 6.4 と Ansible Tower を統合する必要があります。詳細は「Satellite と Ansible Tower の統合」を参照してください。
- Ansible Tower Web UI で、プロビジョニングコールバックを有効にし、ホストの設定キーを生成し、ジョブテンプレートの template_ID を取得する必要があります。ジョブテンプレートの詳細は 『Ansible Tower ユーザーガイド』の「ジョブテンプレート」を参照してください。
ホストのプロビジョニングコールバックの設定
- Red Hat Satellite Web UI で、ホスト > すべてのホスト に移動します。
- ホストページで、ホスト の一覧から、編集するホストを選択します。
- ホストグループウィンドウで パラメーター タブをクリックします。
- ホストパラメーターウィンドウで、パラメーターの追加 をクリックします。
-
名前 フィールドに、
ansible_tower_provisioningと入力します。 -
値 フィールドに、
trueと入力します。 ステップ 4 から 6 を繰り返して、以下のパラメーターを作成します。
Expand 表6.4 ホストパラメーター 名前 値 説明 ansible_tower_provisioningtrue
プロビジョニングコールバックを有効にします。
ansible_tower_fqdntower.example.com
Ansible Tower の完全修飾ドメイン名 (FQDN)。
ansible_job_template_idtemplate_ID
テンプレートの URL で確認できるプロビジョニングテンプレートの ID (
/templates/job_template/5)。ansible_host_config_keyconfig_KEY
Ansible Tower のジョブテンプレートが作成したホスト設定キー。
- 必要なパラメーターをすべて作成したら 送信 をクリックします。
プロビジョニングコールバックが正しく設定されていることを確認するには、
ansible-callbackサービスを開始し、サービスのステータスを確認します。コマンドラインで、以下のコマンドを実行して、
ansible-callbackサービスを開始します。systemctl start ansible-callback
# systemctl start ansible-callbackCopy to Clipboard Copied! Toggle word wrap Toggle overflow コマンドラインで、以下のコマンドを実行して、
ansible-callbackサービスのステータスを出力します。systemctl status ansible-callback
# systemctl status ansible-callbackCopy to Clipboard Copied! Toggle word wrap Toggle overflow プロビジョニングコールバックが正しく設定されていると、以下の出力が返ります。
SAT_host systemd[1]: Started Provisioning callback to Ansible Tower...
SAT_host systemd[1]: Started Provisioning callback to Ansible Tower...Copy to Clipboard Copied! Toggle word wrap Toggle overflow
ホストグループにプロビジョニングコールバックの設定
- Red Hat Satellite Web UI で、設定 > ホストグループ に移動します。
- ホストグループページで、ホストグループ 一覧から、編集するホストグループを選択します。
- ホストグループウィンドウで パラメーター タブをクリックします。
- ホストグループウィンドウで、パラメーターの追加 をクリックします。
-
名前 フィールドに、
ansible_tower_provisioningと入力します。 -
値 フィールドに、
trueと入力します。 ステップ 4 から 6 を繰り返して、以下のパラメーターを作成します。
Expand 表6.5 ホストグループパラメーター 名前 値 説明 ansible_tower_provisioningtrue
プロビジョニングコールバックを有効にします。
ansible_tower_fqdntower.example.com
Ansible Tower の完全修飾ドメイン名 (FQDN)。
ansible_job_template_idtemplate_ID
テンプレートの URL で確認できるプロビジョニングテンプレートの ID (
/templates/job_template/5)。ansible_host_config_keyconfig_KEY
Ansible Tower のジョブテンプレートが作成したホスト設定キー。
- 必要なパラメーターをすべて作成したら 送信 をクリックします。
プロビジョニングコールバックが正しく設定されていることを確認するには、
ansible-callbackサービスを開始し、サービスのステータスを確認します。コマンドラインで、以下のコマンドを実行して、
ansible-callbackサービスを開始します。systemctl start ansible-callback
# systemctl start ansible-callbackCopy to Clipboard Copied! Toggle word wrap Toggle overflow コマンドラインで、以下のコマンドを実行して、
ansible-callbackサービスのステータスを出力します。systemctl status ansible-callback
# systemctl status ansible-callbackCopy to Clipboard Copied! Toggle word wrap Toggle overflow プロビジョニングコールバックが正しく設定されていると、以下の出力が返ります。
SAT_host systemd[1]: Started Provisioning callback to Ansible Tower...
SAT_host systemd[1]: Started Provisioning callback to Ansible Tower...Copy to Clipboard Copied! Toggle word wrap Toggle overflow
プロビジョニングコールバック URL と、ホストの設定キーを使用して Ansible Tower を呼び出します。これにより、ホストに対してテンプレートで指定した Playbook が実行します。
プロビジョニングコールバック機能を使用して、プロビジョニングプロセスの一部として、Ansible Tower から Playbook を呼び出せます。Playbook は、キックスタートのデプロイメント後にホストを設定します。