Ansible と Insights パート 3 - Insights 自動修復向用に Ansible Tower を設定する
この Ansible と Insights のに関する最後ブログでは、Tower が Insights API と対話できるようにして、サイト全体の修復ジョブを有効にする方法を説明します。これは前回のブログ投稿、Ansible と Insights パート 2 - Ansible コア修復の自動化、を前提としているため、このパート 2 の前提条件を満たしていない場合は、先に進む前にこれらを満たしてから、Insights 内でプランナーのプランをビルドできることを確認してください。
Insights で Ansible 機能を活用するには、以下が必要になります:
- 有効な RHEL サブスクリプション
- 有効な Insights 評価版またはエンタイトルメント
- RHEL 7 または RHEL 6.4 以降
- この投稿の例では Ansible Tower 3.1.2
- Insights システムの登録とレポーティング で特定可能な問題があること
- Insights システムのホスト名または「ディスプレイ名」が Ansible Tower インベントリー内でホスト名となっている Ansible でシステム管理機能があること
- Ansible Tower 内で認証情報およびプロジェクトを保存し、テンプレート作成できること (この例では管理者アカウントを使用)。
- Red Hat カスタマーポータルのユーザー名/パスワード (カスタマーポータルで Red Hat Insights のログインに使用するものと同じもの)。
** 編集者からの更新 2017 年 10 月 12 日 **: Tower 3.2 には利用可能な新機能が加わり、統合の完了には新たなステップも必要になっています。詳細は 最新の Tower ドキュメント を参照してください。これらの変更により、この投稿内での Tower 3.1.2 のステップが古くなっているものもありますが、機能は改善されます。
Red Hat Insights での修復プランの作成
Ansible で使用する修復プランのビルドと同様に、Ansible Tower 用のプランも同じ手順で作成できます。この手順は Ansible と Insights パート 2 - Ansible Core 修復の自動化 で説明されており、唯一の違いは、プランを保存したら、お使いの Tower と同期できるという点です。playbook はダウンロードする必要はありませんが、ダウンロードして手動で修復したり、Tower にプロセスベース (git など) のインポートをすることが可能です。
前回のブログ投稿でプラン例をビルドしたので、Tower が Red Hat Insights API と対話するように設定していきます。これは 1 回限りの簡単な設定手順で、時間もほとんどかかりません。
Insights 認証情報の設定
- Tower にログインして設定アイコンをクリックし、設定メニューに入ります。
- 認証情報をクリックして、認証情報ページにアクセスします。
- 認証情報画面右上にある追加ボタンをクリックします。
- 名前フィールドに使用する認証情報の名前を入力します。たとえば、「Red Hat Insights 認証情報」とします。
- タイプのドロップダウンメニューでソースコントロールを選択します。
- ユーザー名とパスワードのフィールドに、Insights に関連付けている Red Hat カスタマーポータルの認証情報を入力します。
- 完了したら、保存をクリックします。
Insights インベントリーの設定
Insights には hosts: 行が含まれ、Insights 自体が認識しているホスト名が含まれますが、これは Tower が認識しているものとは別の場合があります。このため、Red Hat Insights ポータル内のシステムと Tower インベントリー内のシステムを比較して、これらのホスト名が Tower インベントリーのものと一致していることを確認してください。
Insights で新規のインベントリーを作成するには、以下の手順に従います:
- インベントリーのメインリンクをクリックして、インベントリーページにアクセスします。
- 追加ボタンをクリックして、新規インベントリーウィンドウを開きます。
名前と組織のフィールドにそれぞれ入力します。
- 保存をクリックして、グループおよびホスト管理画面に移動します。
インベントリー画面のホスト (右側) で、ホストの追加ボタンをクリックして、ホスト作成のダイアログを開きます。
ホスト名フィールドに使用する Insights ホストに関連付けられた名前を入力し、保存をクリックします。
これで Tower に追加またはインポートするインベントリーができたので、Insights プランナー同期プロジェクトを設定していきます。このプロジェクトを実行する度に、Insights と Tower 間で利用可能なプランナーのプランが同期されます。
Insights プロジェクトの設定
Tower 内でプロジェクトのメインリンクをクリックして、プロジェクトページにアクセスします。
- 追加ボタンをクリックすると、新規プロジェクトウィンドウが開きます。
少なくとも、必須フィールドに詳細を入力します。
SCM タイプは「Red Hat Insights」にします。
SCM タイプを選択すると、ソース詳細フィールドが展開されます。表示されたテキストフィールドに、このプロジェクトで使用する、前のステップで作成した認証情報の名前を入力するか、検索ボタンをクリックして名前を検索して選択します。
- このプロジェクトの更新オプションをクリックして選択し、該当する場合は追加の値を入力します。各オプションの詳細については、オプションの横にあるヘルプボタンをクリックしてください。
Insights ジョブテンプレートの作成
認証情報、インベントリー、およびプロジェクトが追加されたので、Insights の playbook を実行するジョブテンプレートを作成します。これは、エンタープライズ全体または企業内のグループに有効する大規模なジョブに対して実行できます。
- テンプレートのメインリンクをクリックして、テンプレートページにアクセスします。
- 追加ボタンをクリックし、ドロップダウンメニューリストからジョブテンプレートを選択すると、新規ジョブテンプレートウィンドウが開きます。
必要なフィールドに最低限、適切な詳細を入力します。以下のフィールドでは、特定の Insights 関連エントリーが必要になります。
インベントリーフィールドには、作成したインベントリーの名前を Insights が使用する適切なホスト名で入力 (または参照から選択) します。
プロジェクトフィールドには、このジョブテンプレートで使用する Insights プロジェクトの名前を入力 (または参照から選択) します。
Playbook のドロップダウンメニューリストでは、選択した Insights プロジェクトに関連付けられている利用可能な Playbook から、このジョブテンプレートで起動する Playbook を選択します。
各フィールドの詳細については、対応するヘルプボタンをクリックするか、ジョブテンプレートを参照してください。
必要に応じて、パーミッション、通知、アンケートなどの他の属性を使用してテンプレートの残りの部分を完成させます。ジョブテンプレートを完了したら、保存を選択します。
- ジョブテンプレートを起動するには、アクションの下にある起動ボタンをクリックします。
完了すると、playbook のジョブの結果がジョブの詳細ページに表示されます。
このブログで使ってきた例については、Insights 内の Payload Injection Fix プランでいくつかのシステムを修正するなど、以前のブログ記事と同様のプランナープランを使用する必要があります。
このユースケースでは、Playbook のドロップダウンから「Payload Injection fix」を選択し、前回のブログ投稿で適用した修正を Tower からマシンに適用することもできます。
その後、Insight プランナーに戻ると、Insights プランにある Payload Injection Fix が選択したシステムを Tower 経由で修復したことを確認できます。
おわりに
今回のブログで、Insights と Tower の統合がもたらすパワーと、作業チームが企業全体に修正を拡大することができる点をご紹介できたと思います。Insights 統合とサービスについてご意見がありましたら、 insights@redhat.comまでメールを送信するか、Insights カスタマーポータルページ上部にある「フィードバックを提供する」ボタンを使ってお知らせください。
Red Hat Insights の Red Hat Management のポートフォリオや他の Red Hat ソフトウェアへの統合に引き続きご注目ください。これらのテクノロジーの活用に興味がある場合は、こちら から評価版を開始することができます。
Comments