LoginSignup
0

More than 3 years have passed since last update.

Exastro IT Automationの3つのAnsibleモードを使ってみた(②Ansible-LegacyRole編)

Last updated at Posted at 2020-09-14

関連リンク

はじめに

前回の記事では、Exastro IT Automation(以下ITAと略)に搭載されているAnsible3モードの1つ、Ansible-Legacyの使い方について説明しました。

今回は前回に引き続きAnsible-Driver実習編を参考して、Ansible-LegacyRoleを実際に使ってみたいと思います。

作業環境


  • Exastro IT Automation 1.5.0
  • CentOS Linux 7(ITAサーバ)
  • CentOS Linux 7(targetサーバ)
  • Windows 10(ITAクライアント)
  • Google Chrome(Win10側)

image.png

Ansible-LegacyRoleとは

Ansible-LegacyRoleとは、ロールパッケージを登録して利用できるモードです。

そもそもRoleとは、playbookで読み込む、Ansible標準のファイル構成で作られた設定のようなものです。
決められたファイル構成にすることで、Ansible側で解釈して設定を読み込んでくれます。
単純な処理だと1つのPlaybookで問題ありませんが、複雑な処理の場合はplaybookを適切なRoleに分割してインクルードさせることで、再利用性や可読性がよくなるというわけです。

自分が作成したRoleや、Ansible Galaxyから取得したRoleをITAに登録して使うことができますが、Role内の変数定義や任意の設定などは、ITA内のITAreadmeや読み替え表を使って設定します。
つまり、Role自体は変更したりしなくて済みます。

Ansible-LegacyRoleについて詳しくは、コミュニティサイトのAnsible-Driver座学編を参考にして下さい。

②Ansible-LegacyRole編

今回はAnsible GalaxyからダウンロードしたRoleをITAに登録し、実行します。
このRoleは、マシンの/etc/sudoers.d配下にファイルを追加します。

image.png

具体的な手順はこのようになります。
1. 事前準備
2. Movementの設定
3. オペレーションの設定
4. 代入値管理(パラメータシートの作成)
5. 作業実行

1.事前準備

今回はAnsible-GalaxyからダウンロードしたRoleをITAに登録し、実行します。

使用するRoleを以下のURLからダウンロードします。
https://galaxy.ansible.com/weareinteractive/sudo

このRoleは、マシンの/etc/sudoers.d配下にファイルを追加します。

しかしこのRoleは、任意の部分の設定がコメントアウトされていたり、デフォルトの値が入っていたりします。
このような場合、ITAでは、Role中のファイルを変更することなく、ITAreadme読替表を作成することで必要な変更を加えることができます。

詳しいITAreadmeと読替表についてはマニュアルを参照するとよいです。

作成するファイルは以下の通りです。

ITAreadme・・・変数の定義を追加・変更するための設定ファイル

ita_readme_ansible-sudo-master.yml
sudo_users:
 - name: 

読替表・・・defaults変数定義ファイルまたはITAreadmeに定義されている
     「VAR_...」以外の変数に対して、ITAで具体値を設定できるようにするファイル

ita_translation-table_ansible-sudo-master.txt
LCA_sudo_users: sudo_users
LCA_sudo_sudoers_file: sudo_sudoers_file

ダウンロードし解凍したRole、作成したファイルを以下のようにまとめ、ZIPファイルを作成します。
図2.png


①「roles」フォルダを作成
②作成した「roles」フォルダにダウンロードしたRoleを移動
③「roles」フォルダ、読替表、ITAreadmeをZIPファイルにまとめる


2.Movementの設定

ここでは、Roleに関連付けるMovementの設定について述べます。

Movementの作成

「Ansible-LegacyRole 」メニューグループ >> 「Movement一覧」
を選択し、登録作業ボタンより登録作業を開始します。

必須入力項目は「Movement名」「ホスト指定形式」です。

※Movement:各機器に対する構築ツールを使った構築、設定などの作業の単位

本記事ではMovement名「sudoer登録」ホスト指定形式「IP」と登録します。

今回、以下の表のように設定します。

入力内容
Movement名 Sudoer登録
ホスト指定形式 IP

image.png


①必須入力項目を入力
②入力後、[登録]ボタンをクリック


ロールパッケージの登録

「Ansible-LegacyRole」メニューグループ >> 「ロールパッケージ管理」
を選択し、登録作業をします。

必須入力項目は「ロールパッケージ名」「ロールパッケージファイル(ZIP形式)」です。

プレイブック素材には先ほど作成した「roles.zip」を使用します。
ファイル指定後は必ず事前アップロードボタンを押す必要があります。

今回、ロールパッケージ名を「sudo-master」と設定します。
image.png


①必須入力項目を入力(ロールパッケージ選択後、「事前アップロード」ボタンをクリック)
②入力後、[登録]ボタンをクリック


MovementにRoleを関連付ける

「Ansible-LegacyRole」メニューグループ >> 「Movement詳細」
を選択し、登録作業をします。

必須入力項目は「Movement」「ロールパッケージ名」「インクルード順序」です。

今回、以下の表のように設定します。

Movement名 ロールパッケージ名 ロール名 インクルード順序
Sudoer登録 sudo-master ansible-sudo-master 1

image.png


①必須入力項目を適宜選択、入力
②[登録]ボタンをクリック


3.オペレーションの設定

オペレーションを作成し、Movementとホストを関連付けます。

オペレーションは、作業全体を示すITAシステム内で使用する作業名称のことを指します。

「基本コンソール」メニューグループ >> 「投入オペレーション一覧」
を選択し、登録を開始します。

必須入力項目は「オペレーション名」「実施予定日」です。

今回、以下の表のように設定します。

項目名 入力内容
オペレーション名 LegacyRole_Practice
実施予定日時 (任意の値)

image.png


①必須入力項目「オペレーション名」「実施予定日」の入力
②[登録]ボタンをクリック


4.代入値管理(パラメータシートの作成)

パラメータシートの作成

パラメータシートを作成し、ターゲットマシンに適用するパラメータを管理します。

「メニュー作成」メニューグループ >> 「メニュー定義/作成」
を選択、必須項目を入力します。

必須入力項目は「メニュー名」「作成対象」「表示順序」「用途」です
image.png


①必須入力項目を適宜選択、入力
②[対象メニューグループ]ボタンをクリック


image.png


③メニューグループを図のように選択(メニューグループは前回記事「Ansibleモード共通設定」にて作成済み)
④[決定]ボタンをクリック


パラメータシートの項目名を定義

前項で[決定]ボタンをクリックしたその続きです。

ここではシートの項目を定義します。

項目を追加し、項目名を「sudoer_name」「sudoer_filename」と入力します。
最大バイト数はどちらも32バイトです。

image.png


⑤[項目]をクリックし、新しい項目を追加
⑥「項目 1」「項目 2」をクリックし、項目名を設定
⑦図のように選択、入力
⑧[作成]ボタンをクリック


パラメータの登録

ここまでで、パラメータシートの作成を行いました。
ここからはターゲットホストの設定に使用するデータを登録します。

「AnsibleDriver実践用」メニューグループ >> 「LegacyRole実践」
を選択し、登録を開始します。

必須入力項目は「ホスト名」「オペレーション」
「パラメータ>>[sudoer_name]、[sudoer_filename]」です。

image.png


①必須入力項目を適宜選択、入力
②[登録]ボタンをクリック


代入値自動登録設定

各項目と変数を関連付けます。

「Ansible-LegacyRole」メニューグループ >> 「代入値自動登録設定」
を選択し、登録作業をします。

各項目に対して、「メニューグループ:メニュー」「登録方式」「Movement」「Value変数」を設定します。
また具体的な設定、下表のようにします。

メニューグループ:メニュー 項目 登録方式 Movement Value-変数変数名 Value変数-メンバー変数名
LegacyRole実践用 sudoer_name Value型 Sudoer登録 LCA_sudo_users [0].name
LegacyRole実践用 sudoer_filename Value型 Sudoer登録 LCA_sudo_sudoers_file

image.png


①必須入力項目を適宜選択、入力
②[登録]ボタンをクリック


代入値・作業ホストの確認

「Ansible-LegacyRole」メニューグループ >> 「作業対象ホスト」
「Ansible-LegacyRole」メニューグループ >> 「代入値管理」
の[フィルタ]をクリックし、「一覧/更新」を確認します。

設定した項目が、「legacyRole代入値自動登録設定プロシージャ」によって正しい値に指定されているかを確認します。

作業対象ホスト
image.png

代入値管理
image.png

5.作業実行

Movementの実行

「Ansible-LegacyRole」メニューグループ >>「作業実行」を選択します。

実行するMovementとオペレーションを選択し、ページ下にある[実行]をクリックすることで作業が開始します。
image.png


①作成したMovementの選択
②作成したオペレーションの選択
③[実行]ボタンをクリック


実行結果の確認

作業実行すると画面が遷移して、実行ステータスやログが表示されます。
また、投入データや結果データをまとめたZIPファイルをダウンロードすることができます。

適宜、必要項目を確認します。
image.png

また、ターゲットマシンに移動し以下を実行します。

target(centos7)
# cat /etc/sudoers.d/example_sudoers

以下が表示されると、実行成功です。

/etc/sudoers.d/example_sudoers
# Ansible managed


example_name ALL=(ALL:ALL)  ALL

おわりに

今回は、Ansible3モードの1つ、Ansible-LegacyRoleの使い方について説明しました。

次回はAnsible-Pioneerについて説明したいと思います。

関連リンク

索引

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0