ManageIQでAnsibleを実行する


ManageIQでAnsibleを有効化して使ってみます。

必要

  • GitLabやGitHubなどのサービス

ManageIQでAnsibleを使う

OSに設定してあるホスト名が名前解決できることを確認してください。
名前解決できない場合はManageIQからAnsibleを使うことは出来ません。
名前解決が出来ない場合は /etc/hosts に追記してください。

ManageIQでAnsible有効化

ManageIQにログインして 構成 へ移動します。

サーバ制御Embedded Ansible を有効化して 保存 をクリックします。

ManageIQではAnsibleを有効化すると AWX がインストールされます。
そのためインストールが完了するまで待つ必要があります。
Proxy配下にある場合はコンテナイメージを取得できるよう Dockerのプロキシ設定 が必要になります。

認証設定

自動化 -> Ansible -> 認証情報 をクリックします。

構成 -> 新規認証情報の追加 をクリックします。

名前 を入力して 認証タイプScm を選択し必要なパラメーターを入力して 追加 をクリックします。

リポジトリー設定

自動化 -> Ansible -> リポジトリー をクリックします。

構成 -> 新規リポジトリーの追加 をクリックします。

必要パラメーターを入力して 追加 をクリックします。

Playbook確認

自動化 -> Ansible -> Playbooks をクリックしてPlaybookが登録されているか確認します。

サービスダイアログ作成

ManageIQでAnsibleを実行する時は一つのサービスダイアログを紐づける必要があります。
サービスダイアログは実行する時に表示されるダイアログでパラメーター(AnsibleだとExtra Vars)を入力することができます。

自動化 -> 自動化 -> カスタマイズ をクリックします。

サービスダイアログ をクリックします。

構成 -> 新規ダイアログの追加 をクリックします。

ダイアログの名前 を入力します。

サイドバーから必要な要素をドラッグしてセクションを追加します。
ここでは テキストボックス を追加します。

鉛筆マーク をクリックして編集します。

ラベル名前 を入力して 保存 をクリックします。
Ansibleで変数として渡す場合は param_変数名 を指定する必要があります。

保存 をクリックします。

サービスダイアログの詳細については公式ドキュメントを確認ください。

サービスカタログの作成

ManageIQではサービスカタログと言う単位でカタログを作成します。
利用者は使用したいサービスカタログを選択してオーダーして実行します。

ここではカタログを2つ作成します。

  • example1.yml Playbook用カタログ(変数無し)
  • example2.yml Playbook用カタログ(変数あり)

ソースは以下から確認ください。

カタログの作成

サービス -> カタログ をクリックします。

カタログ をクリックします。

構成 -> 新規カタログの追加 をクリックします。

名前 を入力して 保存 をクリックします。

カタログ項目 をクリックして example を選択します。

構成 -> 新規カタログ項目の追加 をクリックします。

必要なパラメーターを入力して 追加 をクリックします。

パラメーター 説明
名前 カタログへの表示名
カタログないに表示 カタログに表示させるためYes
カタログ 作成したカタログを選択
リポジトリー 作成したリポジトリーを選択
Playbook 実行するPlaybookを選択
マシンの認証情報 マシンの認証情報を選択、ここではローカルで実行するので標準のものを使用
ホスト Localhostを選択
ダイアログ 作成したダイアログを選択

同じ手順で example2.yml 用のカタログを追加します。

登録したカタログ(Playbook)を実行

サービス -> サービスカタログ をクリックします。

実行したいサービスの オーダー をクリックします。

変数を使うPlaybookを実行する時は メッセージ変数 を入力して 送信 をクリックします。

実行結果の確認は サービス -> マイサービス をクリックします。

確認したいサービスを選択します。

プロビジョニング タブを選択すると結果が確認できます。

変数を埋め込んだ結果は以下のようになります。

Leave a Reply

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください