はじめに
Exastro IT Automationとは
システム構成(IaC+パラメータ)を管理するためのフレームワークです。
【Exastro-suite】より
ITAのver2.4のAnsible-Legacy-Roleの「Learn」を実際に試してみました。
設定するパラメータ等は「Learn」のドキュメントの真似をしています。
Ansible-LegacyRoleのLearn記事
また、本記事は全部で4部作の記事になります。
Exastro IT Automation 2.4.0 のLeran(Ansible-Role)をやってみた その①
Exastro IT Automation 2.4.0 のLeran(Ansible-Role)をやってみた その②
Exastro IT Automation 2.4.0 のLeran(Ansible-Role)をやってみた その③
Exastro IT Automation 2.4.0 のLeran(Ansible-Role)をやってみた その④
作業環境
シナリオ
実施するシナリオは以下の4つです。
記事も4部に分けてご紹介します。
【ホスト名管理】
対象サーバのホスト名の管理
【パッケージ管理】
対象サーバのにインストールするパッケージの管理
【ジョブフロー】
ジョブを連続で実行できるジョブフローの実行
【ユーザー管理(演習問題)】
対象サーバのユーザ管理
使用するplaybook
「Learn」のドキュメント内で提供されているplaybookがあるため、そちらを使用します。
今回はRHEL8 の資材を使用しました。
https://github.com/exastro-suite/playbook-collection-docs/blob/master/ansible_role_packages/README.md
シナリオ① 【ホスト名管理】
対象のサーバのホスト名を設定するシナリオです。
ホスト名管理のシナリオ
オペレーション設定
基本コンソールからオペレーションを登録します。
オペレーションとは実施する作業のことで、オペレーションに対して作業対象とパラメータが紐づきます。
以下の設定をしました。
- オペレーション名:RHEL9のホスト名変更作業
- 実施予定日時:現在時刻
パラメータシート作成
パラメータシートの作成と設定値の登録をします。
作業に利用される設定値(パラメータ)を登録するのがパラメータシートです。
以下の設定をしました。
■画面左の項目設定
- 項目の名前:ホスト名
- 項目の名前(Rest API用):hostname
- 最大バイト数:64
- 必須:チェックを付ける
■画面右の項目設定
- パラメータシート名:サーバー基本情報
- パラメータシート名(REST):server_information
- 表示順序:1
機器一覧登録
作業対象となるサーバー server01 を機器一覧に登録します。
- HW機器種別:SV
- ホスト名:server01
- IPアドレス:作業対象サーバのIPアドレス
- ユーザ:root
- パスワード:rootのパスワード
- 認証方式:パスワード認証
Movement作成
Movement を作成します。
ITAでは作業(ジョブ)を Movement という単位で管理しています。
- Movement名:ホスト名設定
- ホスト指定形式:IP(デフォルト値なのでそのままで良い)
Roleの資材登録
Ansible Role (使用するplaybook) の登録をします。
- ロールパッケージ名:OS-RHEL8
- ロールパッケージファイル(ZIP形式):OS-RHEL8.zip
Movement と Ansible Role パッケージの紐づけ
Movement と Ansible Role パッケージの紐付けを行います。
- Movement名:ホスト名設定
- ロールパッケージ名:"OS-RHEL8:OS-RHEL8/RH_hostname/OS_build"
- インクルード順序:1
代入値自動登録設定
パラメータシートの項目と Ansible Role の変数の紐付けです。
- メニューグループ:メニュー:項目:ホスト名設定
- 登録方式:Value型
- Movement名:ホスト名設定
- "Movement名:変数名":"ホスト名設定:VAR_RH_hostname"
ホスト名変更作業実施(1回目)
作成したパラメータシートに設定したいホスト名を入力します。
これでオペレーションとパラメータを紐づけることが出来ました。
- ホスト名:server01
- オペレーション名:RHEL9のホスト名変更作業
作業実行
まず対象サーバの事前状態を確認。
私の環境では static hostname は設定していませんでした。
再度確認してみると、static hostname が設定されていました!
ホスト名変更作業実施(2回目)
パラメータ設定
先ほどパラメータシートに設定したホスト名を server01 から"{{ __inventory_hostname__ }}"という変数に変更します。
- ホスト名:server01 ⇒ "{{ __inventory_hostname__ }}"
機器一覧の更新
機器一覧もホスト名を server01 から db01 に変更します。
- ホスト名:server01 ⇒ db01
先ほどまでは機器一覧にもパラメータシートの方にも server01 という名称を記載しており、二重管理状態になっていました。しかし、上記のように変数を使うことで機器一覧の情報をパラメータシートが自動で取得してくれるようです。
作業実行
対象のサーバの状態を確認してみると、db01 に変更されていました!
まとめ
今回実施したホスト名管理のシナリオでは、Exastro IT Automation の基本的な操作方法やコンセプトが分かる内容でした。
次回はパッケージ管理のシナリオの実施します。
Exastro IT Automation 2.4.0 のLeran(Ansible-Role)をやってみた その②