関連リンク
- Exastro IT Automationインストール(v1.5.0)
- Exastro IT Automationを実際に動かしてみた(クイックスタート)
- Exastro IT Automation ver1.5.0のキホンの"キ"
- Exastro IT Automationの3つのAnsibleモードを使ってみた
#はじめに
※(追記)※
2021年5月31日、Playbook Collectionの内容が一新され、ITAへの導入が簡単になりました。
新規に記事を作ってみましたので、ぜひ合わせてお読みください。
【Exastroシリーズ】IT AutomationでPlaybook Collection使ってみた (RHEL7基本設定編)
###Exastro Playbook Collectionとは
Exastro Playbook Collectionとは、システム構築で利用されるOSやMiddleware用のAnsible Playbook集です。
(Exastro-Suite公式サイトより)
Exastro-Suiteのなかで、システムの「設定作業」の省力化を担っているのがPlaybook Collectionです。
公開されているAnsible-Roleをダウンロードし、自由に使用することができます。
今回は様々なAnsible-Roleの中から以下のものを実行してみます。
- Apache_install(Apacheのインストール)
- Apache_setup(Apacheの設定)
- RHEL(RedHat系OSの設定)
なお、実行時にはExastro IT Automation(以降、ITAと記載)を使用します。
ホスト側
- Linux CentOS7.8
- Exastro IT Automation 1.5.0
- Ansible 2.9.12
ターゲット側
- Linux CentOS7.8 1台
【注】
NetworkManagerを停止させています。今回利用するRoleの一部(RH_name-resolve,RH_ntp)がNetworkManagerの動作していない環境での実行を想定しているためです。
加えて、結果確認を容易にするためネットワークインターフェイスの設定に"PEERDNS=no"を追記しています。
クライアント
- Windows 10
- Microsoft Edge
#作業手順
以下の流れで作業を進めます。
- ITAを操作する前に
- 1. Playbook CollectionからAnsible‐Roleをダウンロードする
- 2. ITAreadmeを作成する
- 3. zipファイルを作成する
- ITAを操作する
- 4. ターゲットとなる機器を登録する
- 5. オペレーションを登録する
- 6. Movementを設定する
- 7. 多段変数最大繰返数管理
- 8. Conductorを作成する
- 9. パラメータシートを作成する
- 10. パラメータを登録する
- 11. 代入値自動登録設定を行う
- 12. Counductorを実行する
- 13. 実行結果の確認
① Playbook CollectionからAnsible‐Roleをダウンロードする
Playbook Collectionは以下のURLで公開されています。
https://github.com/exastro-suite/playbook-collection-docs/blob/master/README.ja.md
「ロールリスト」のリンクから、各ロールパッケージのリポジトリにアクセスできます。
今回利用したロールパッケージのリポジトリは以下の3つです。
Apache_install ‐ https://github.com/exastro-playbook-collection/Apache_install.git
Apache_setup -https://github.com/exastro-playbook-collection/Apache_setup.git
RHEL - https://github.com/exastro-playbook-collection/RHEL.git
この内、RHELはRedHat系OSの初期設定を網羅したものになっています。
全てを実行すると記事内容があまりに膨大になりますので、今回は以下の5つを選んで実行します。
- RH_sshd (/etc/sshd/sshd.confの設定)
- RH_rsyslog (/etc/rsyslog.confの設定)
- RH_kdump (kdumpの設定)
- RH_name-resolve (名前解決の設定)
- RH_ntp (NTPサーバの設定)
##② ITAreadmeを作成する
ITAにロールパッケージを登録する前に、各Ansible‐Roleのdefault/main.ymlを確認してみましょう。
apache_OS_Version: RedHat7
apache_OS_VersionにはOSの系列とバージョンを指定し、各taskの実行判定に使用します。
今回の対象ホストはCentOS7なので、変更の必要はありません。
### Directive for Apache2.4,Apache2.2
VAR_Apache_ServerTokens:
VAR_Apache_ServerRoot: /etc/httpd
VAR_Apache_Timeout:
VAR_Apache_KeepAlive:
VAR_Apache_MaxKeepAliveRequests:
VAR_Apache_KeepAliveTimeout:
# 以下略
httpd.confに記載するパラメータが定義されています。
具体値はITAで変更できますので、今は触らずともよいでしょう。
# VAR_RH_sshd_config: #sshd設定
# - key: PermitRootLogin
# value: yes #rootユーザのログインを許可
# - key: PasswordAuthentication
# value: yes #パスワード認証を許可
あるべき変数定義の型がコメントアウトされています。
# VAR_RH_rsyslog_rules: #syslog設定
# - selector: 'local7.*' #facility / priority
# action: '/var/log/boot.log' #ログ出力先
# - selector: '*.info;mail.none;authpriv.none;cron.none' #facility / priority
# action: '/var/log/messages' #ログ出力先
VAR_RH_rsyslog_rules: []
VAR_RH_rsyslog_d_files: []
上に同じく、変数定義がコメントアウトされています。
RHELに収録されているAnsible‐Roleは変数がコメントアウトされており、使用前に変数定義を加筆する必要があります。
(RH-sshd、RH-rsyslog以外のAnsible‐Roleも同様です。)
/default/main.ymlを直接編集することもできますが、今回はITAreadmeを使用して変数を後付けで定義します。
ITAreadmeとは?
VAR_RH_sshd_config:
- key: # PermitRootLogin など
value: # yes / no など
VAR_RH_rsyslog_rules:
- selector: # local7.* など
action: # /var/log/boot.log など
# 「/etc/kdump.conf」ファイルに設定する項目
VAR_RH_kdump:
state: # started / stopped
path: # /var/crash など
default: # reboot
# GRUB_CMDLINE_LINUXのcrashkernelの値を指定する。
VAR_RH_kdump_grub_crashkernel: # 128M / auto など
# /etc/hostsファイルに設定する情報
- ip:
hostname:
# DNSサーバ配置に関する情報
VAR_RH_name_resolve_dns:
servers:
- #IPアドレス
suffix:
-
# 名前解決の参照先の順序設定。
VAR_RH_name_resolve_nsswitch:
- method: # dns など
actions: # [NOTFOUND=return] など
# ntpサーバの情報
VAR_RH_ntp_servers:
- server: #IPアドレス
prefer: #true / false
op: #add / upd / del
VAR_RH_ntp_options:
- slew: # True / False
【注】
ITAreadmeは変数の定義を変更・追加するために使用されます。
ITAreadmeで変数の値を指定しても、作業へ反映されることはありません。
##③ zipファイルを作成する
Ansible‐RoleやITAreadmeをITAにアップロードするため、これらをまとめたzipファイルを作成します。
Apache_install-masterとApache_setup-masterは1つのzipファイルにまとめます。
ディレクトリ構造は以下の通りです。
Apache_Installation.zip
└ roles
├ Apache_install-master
└ Apache_setup-master
RHEL中の2つのAnsible‐Roleは別のzipファイルとしておきます。
ディレクトリ構造は以下の通りです。
RHEL_Configuration.zip
├ roles
| ├ RH_sshd
| ├ RH_rsyslog
| ├ RH_kdump
| ├ RH_reboot
| ├ RH_name-resolve
| └ RH_ntp
├ ita_readme_RH_sshd.yml
├ ita_readme_RH_rsyslog.yml
├ ita_readme_RH_kdump.yml
├ ita_readme_RH_name_resolve.yml
└ ita_readme_RH_ntp.yml
※RH_kdumpの実行にはRH_rebootが要求されるため、roles配下に合わせて配置しています。
これで準備は完了です。
以降はITAを操作していきます。作業の詳細については、以下の記事でより詳細に解説されています。
④ ターゲットとなる機器を登録する
ターゲットとなるCentOSターゲットをITAに登録します。
メニュー:基本コンソール >> 機器一覧
今回は以下のように登録しました。
HW機器種別 | ホスト名 | IPアドレス | ログインユーザID | ログインパスワード 管理 |
ログインパスワード | Legacy/Role利用情報 認証方式 |
---|---|---|---|---|---|---|
SV | testserver | (ターゲットのIPアドレス) | root | ● | ******** | パスワード認証 |
⑤. オペレーションを登録する
オペレーション(ITAにおける作業の名前)を登録します。
今回は以下のように1件登録します。
オペレーション名 | 実施予定日時 |
---|---|
PlaybookCollection試用 | 2020/09/21 16:00 |
⑥ Movementを設定する
Movementを登録する
Movement(ITAにおける作業の最小単位)を登録します。
メニュー: Ansible-LegacyRole >> Movement一覧
以下のとおりMovementを2つ登録します。
Apache_install-masterの実行時、gather_factsが有効になっている必要があるため、ヘッダー情報で有効にしています。
Movement名 | ホスト指定形式 | ヘッダー |
---|---|---|
RHEL系初期設定 | IP | - |
Apacheインストール | IP | - hosts: all remote_user: "{{ __loginuser__ }}" gather_facts: yes become: yes |
ロールパッケージの登録
用意したzipファイルをITAに登録します。
メニュー: Ansible-LegacyRole >> ロールパッケージ登録
以下の通り登録します。
ロールパッケージ名 | ロールパッケージファイル |
---|---|
RHEL_Configuration | RHEL_Configuration.zip |
Apache_Installation | Apache_Installation.zip |
Movementとロール名の紐づけ
1.3で作成したMovementと1.4で作成したロールパッケージを関連付けます。
メニュー: Ansible-LegacyRole >> Movement詳細
Movement: RHELログイン設定
Movement名 | ロールパッケージ | ロール名 | インクルード順序 |
---|---|---|---|
RHEL系初期設定 | RHEL_Configuration | RH_sshd | 1 |
RHEL系初期設定 | RHEL_Configuration | RH_rsyslog | 2 |
RHEL系初期設定 | RHEL_Configuration | RH_kdump | 3 |
RHEL系初期設定 | RHEL_Configuration | RH_name-resolve | 4 |
RHEL系初期設定 | RHEL_Configuration | RH_ntp | 5 |
Movement: Apacheインストール
Movement名 | ロールパッケージ | ロール名 | インクルード順序 |
---|---|---|---|
Apacheインストール | Apache_Installation | Apache-install-master | 1 |
Apacheインストール | Apache_Installation | Apache-setup-master | 2 |
⑦ 多段変数最大繰返数管理
多段変数最大繰返数管理とは
あらためて今回作成したITAreadme(=変数の定義)を見てましょう。
VAR_RH_sshd_config:
- key: # PermitRootLogin など
value: # yes / no など
VAR_RH_rsyslog_rules:
- selector: # local7.* など
action: # /var/log/boot.log など
VAR_RH_sshd_configのメンバー変数に代入した値が/etc/ssh/sshd_configに、
VAR_RH_rsyslog_rulesのメンバー変数に代入した値が/etc/rsyslog.ymlに、それぞれ追記されます。
例えばVAR_RH_sshd_configの場合、keyとvalueが1セットだけ定義されています。
1セットではなく、複数の具体値を設定してAnsible-Roleを実行したい場合
「多段変数最大繰返数管理」を用いてメンバー変数の繰返し数を任意に変更することができます。
多段変数最大繰返数管理を行う
では上記2つの変数について、メンバー変数の繰返し数を定義していきます。
メニュー: Ansible-LegacyRole >> 多段変数最大繰返数管理
- 一覧から目当ての変数を探し、「更新」を押下する
- 「最大繰返数」の値を変更する
3.「登録」を押下する
⑧ Conductorを作成する
Conductorを作成する
Conductorとは、ITAにおける一連の作業の単位です。複数のMovementを登録し、1つのジョブフローを形成することができます。
今回は、上で作成したMovement2つを含むConductorを作成します。
メニュー: Conductor >> Conductorクラス編集
- Conductorの名前を入力する
- 実行するMovementをドラッグ&ドロップで配置する
- Movementのin/outをドラッグ&ドロップで結合する
- 「登録」を押下する
今回作成したConductorの情報は以下の通りです。
Conductor名:PlaybookCollection試用
Movement | 実行順序 |
---|---|
RHEL系初期設定 | 1 |
Apacheインストール | 2 |
⑨ パラメータシートを作成する
パラメータシートを作成しシートの項目と変数を紐づけることで今後の作業を簡便にできます。
1. メニューグループを作成する
まず、メニュー(=パラメータシート)が所属するメニューグループを作成します。
今回は以下の通りホスト用、参照用、縦メニュー用の3種を作成しました。
メニューグループ名称 | 表示順序 |
---|---|
サーバ全般管理 | 120 |
サーバ全般管理(参照用) | 125 |
サーバ全般管理(縦) | 130 |
2. メニューを作成する
メニューグループの作成が終わったところで、メニューを作成します。
本記事では簡素な解説に留めますので、詳細な操作解説が必要な場合は以下の記事をご参照ください。
【参考】
Exastro IT Automation ver1.5.0のキホンの"キ"
Exastro IT Automationの3つのAnsibleモードを使ってみた
メニュー: メニュー作成 >> メニュー定義/作成
① メニュー名などの基本情報を入力する
② 所属するメニューグループを設定する
③ 項目の名前やデータ型を設定する
④ 「作成」を押下する
上記の操作を繰り返し、
今回は以下の6つのメニューを作成しました。
RH_sshd用のメニュー
【基本情報】
メニュー名 | 作成対象 | 表示順序 | 用途 | ホスト用メニューグループ | 参照用メニューグループ | 縦メニュー用メニューグループ |
---|---|---|---|---|---|---|
sshd設定 | パラメータシート(ホスト/オペレーション含む) | 1 | ホスト用 | サーバ基本設定 | サーバ基本設定(参照用) | サーバ基本設定(縦) |
リピート機能について
メニュー名 | 作成対象 | 表示順序 | 用途 | ホスト用メニューグループ | 参照用メニューグループ | 縦メニュー用メニューグループ |
---|---|---|---|---|---|---|
rsyslog設定 | パラメータシート(ホスト/オペレーション含む) | 5 | ホスト用 | サーバ基本設定 | サーバ基本設定(参照用) | サーバ基本設定(縦) |
RH_kdump用のメニュー
【基本情報】
メニュー名 | 作成対象 | 表示順序 | 用途 | ホスト用メニューグループ | 参照用メニューグループ | 縦メニュー用メニューグループ |
---|---|---|---|---|---|---|
kdump設定 | パラメータシート(ホスト/オペレーション含む) | 10 | ホスト用 | サーバ基本設定 | サーバ基本設定(参照用) | - |
RH_name_resolve用のメニュー
【基本情報】
メニュー名 | 作成対象 | 表示順序 | 用途 | ホスト用メニューグループ | 参照用メニューグループ | 縦メニュー用メニューグループ |
---|---|---|---|---|---|---|
名前解決設定 | パラメータシート(ホスト/オペレーション含む) | 15 | ホスト用 | サーバ基本設定 | サーバ基本設定(参照用) | - |
RH_ntp用のメニュー
【基本情報】
メニュー名 | 作成対象 | 表示順序 | 用途 | ホスト用メニューグループ | 参照用メニューグループ | 縦メニュー用メニューグループ |
---|---|---|---|---|---|---|
NTP設定 | パラメータシート(ホスト/オペレーション含む) | 20 | ホスト用 | サーバ基本設定 | サーバ基本設定(参照用) | - |
【項目の設定】 | ||||||
Apache_setup用のメニュー
【基本情報】
メニュー名 | 作成対象 | 表示順序 | 用途 | ホスト用メニューグループ | 参照用メニューグループ | 縦メニュー用メニューグループ |
---|---|---|---|---|---|---|
Apache設定 | パラメータシート(ホスト/オペレーション含む) | 100 | ホスト用 | サーバ基本設定 | サーバ基本設定(参照用) | - |
⑩パラメータを登録する
メニューを作成することができました。
作成したメニューからターゲットの設定に利用するパラメータを入力していきます。
メニュー: サーバ基本設定(縦) >> sshd設定
ホスト名 | オペレーション | 代入順序 | key | value |
---|---|---|---|---|
testserver | playbookCollection試用 | 1 | PasswordAuthentication | yes |
testserver | playbookCollection試用 | 2 | PermitRootLogin | yes |
メニュー: サーバ基本設定(縦) >> rsyslog設定
ホスト名 | オペレーション | 代入順序 | selector | action |
---|---|---|---|---|
testserver | playbookCollection試用 | 1 | lpr.info | /var/log/lpr.log |
testserver | playbookCollection試用 | 2 | :fromhost-ip, isequal, "192.168.11.254" | /var/log/router.log |
メニュー: サーバ基本設定 >> kdump設定
ホスト名 | オペレーション | state | path | default | crashkernel |
---|---|---|---|---|---|
testserver | playbookCollection試用 | started | /var/clash | reboot | 128M |
メニュー: サーバ基本設定 >> 名前解決設定
ホスト名 | オペレーション | ip | hostname | servers | suffix | resolve_method | resolve_actions |
---|---|---|---|---|---|---|---|
testserver | playbookCollection試用 | 192.168.11.20 | test.domain.com | 192.168.11.100 | test.com | dns | [NOTFOUND=return] |
メニュー: サーバ基本設定 >> NTP設定
|ホスト名|オペレーション|server_ip|prefer|operation|slew_option|
|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
|testserver|playbookCollection試用|192.168.11.30|true|add|True|
メニュー: サーバ基本設定 >> Apache設定
ホスト名 | オペレーション | ServerName | KeepAlive | KeepAliveRequests | Enable_Service | ServiceState |
---|---|---|---|---|---|---|
testserver | playbookCollection試用 | www.test.com | "On" | 100 | yes | started |
⑪ 代入値自動登録設定を行う
代入値自動登録設定を行い、パラメータシートの項目と変数を紐づけていきます。
メニュー:Ansible-LegacyRole >> 代入値自動登録設定
「sshd設定」メニューと「RH_sshd」の変数を紐づける設定
VAR_RH_sshd_config は、多段変数最大繰返数管理で繰返し数を「2」に設定しました。
そのため、対応する数のメンバー変数が選択できるようになっています。
メニュー | 項目 | 登録方式 | Movement | 変数名 | メンバー変数名 | 代入順序 |
---|---|---|---|---|---|---|
sshd設定 | key | Value型 | RHEL系初期設定 | VAR_RH_sshd_config | [0].key | - |
sshd設定 | value | Value型 | RHEL系初期設定 | VAR_RH_sshd_config | [0].value | - |
sshd設定 | key[2] | Value型 | RHEL系初期設定 | VAR_RH_sshd_config | [1].key | - |
sshd設定 | value[2] | Value型 | RHEL系初期設定 | VAR_RH_sshd_config | [1].value | - |
「rsyslog設定」メニューと「RH_rsyslog」の変数を紐づける設定
VAR_RH_rsyslog_rules についても、多段変数最大繰返数管理で繰返し数を「2」に設定しました。
追加のメンバー変数が選択できるようになっています。
メニュー | 項目 | 登録方式 | Movement | 変数名 | メンバー変数名 | 代入順序 |
---|---|---|---|---|---|---|
rsyslog設定 | selector | Value型 | RHEL系初期設定 | VAR_RH_rsyslog_rules | [0].selector | - |
rsyslog設定 | action | Value型 | RHEL系初期設定 | VAR_RH_rsyslog_rules | [0].action | - |
rsyslog設定 | selector[2] | Value型 | RHEL系初期設定 | VAR_RH_rsyslog_rules | [1].selector | - |
rsyslog設定 | action[2] | Value型 | RHEL系初期設定 | VAR_RH_rsyslog_rules | [1].action | - |
「kdump設定」メニューと「RH_kdump」の変数を紐づける設定
メニュー | 項目 | 登録方式 | Movement | 変数名 | メンバー変数名 | 代入順序 |
---|---|---|---|---|---|---|
kdump設定 | state | Value型 | RHEL系初期設定 | VAR_RH_kdump | state | - |
kdump設定 | path | Value型 | RHEL系初期設定 | VAR_RH_kdump | path | - |
kdump設定 | default | Value型 | RHEL系初期設定 | VAR_RH_kdump | default | - |
kdump設定 | crashkernel | Value型 | RHEL系初期設定 | VAR_RH_grub_crashkernel | - | - |
「名前解決設定」メニューと「RH_name-resolve」の変数を紐づける設定
メニュー | 項目 | 登録方式 | Movement | 変数名 | メンバー変数名 | 代入順序 |
---|---|---|---|---|---|---|
名前解決設定 | hosts情報/ip | Value型 | RHEL系初期設定 | VAR_RH_resolve_hosts | [0].ip | - |
名前解決設定 | hosts情報/ip[2] | Value型 | RHEL系初期設定 | VAR_RH_resolve_hosts | [0].hostname | - |
名前解決設定 | DNSサーバ情報/servers | Value型 | RHEL系初期設定 | VAR_RH_resolve_dns | servers | 1 |
名前解決設定 | DNSサーバ情報/suffix | Value型 | RHEL系初期設定 | VAR_RH_resolve_dns | suffix | 1 |
名前解決設定 | resolve_method | Value型 | RHEL系初期設定 | VAR_RH_nsswitch | [0].method | - |
名前解決設定 | resolve_actions | Value型 | RHEL系初期設定 | VAR_RH_nsswitch | [0].actions | - |
「NTP設定」メニューと「RH_ntp」の変数を紐づける設定
メニュー | 項目 | 登録方式 | Movement | 変数名 | メンバー変数名 | 代入順序 |
---|---|---|---|---|---|---|
NTP設定 | NTPサーバ情報/server_ip | Value型 | RHEL系初期設定 | VAR_RH_ntp_servers | [0].server | - |
NTP設定 | NTPサーバ情報/prefer | Value型 | RHEL系初期設定 | VAR_RH_ntp_servers | [0].prefer | - |
NTP設定 | NTPサーバ情報/operation | Value型 | RHEL系初期設定 | VAR_RH_ntp_servers | [0].op | - |
NTP設定 | slew_option | Value型 | RHEL系初期設定 | VAR_RH_ntp_options | [0].slew | - |
「Apache設定」メニューと「RH_apache_setup-master」の変数を紐づける設定
メニュー | 項目 | 登録方式 | Movement | 変数名 | メンバー変数名 | 代入順序 |
---|---|---|---|---|---|---|
Apache設定 | Servername | Value型 | RHEL系初期設定 | VAR_RH_ServerName | - | - |
Apache設定 | KeepAlive | Value型 | RHEL系初期設定 | VAR_RH_KeepAlive | - | - |
Apache設定 | KeepAliveRequests | Value型 | RHEL系初期設定 | VAR_RH_KeepAliveRequests | - | - |
Apache設定 | EnableService | Value型 | RHEL系初期設定 | VAR_RH_ServiceAuto | - | - |
Apache設定 | ServiceState | Value型 | RHEL系初期設定 | VAR_RH_ServiceState | - | - |
##⑫ Conductorを実行する
ここまでの操作でMovemetの作成と代入値の登録が完了しました。
最後にMovementを実行し、作業の結果を対象ホストで確認します。
メニュー: Conductor >> Conductor実行
1.オペレーションを選択する
2.実行するConductorを選択する
3.作業実行を押下する
実行後は自動で作業確認画面に遷移します。
ノード(Movement)をクリックすることでステータスや詳細結果へのリンクを表示できます。
##⑬ 実行結果の確認
RHELによる各種設定変更を確認する
RH_sshdによる設定は/etc/ssh/sshd_confに記入されます。
#PermitRootLogin yes
PermitRootLogin yes
~~中略~~
# Set this to 'yes' to enable PAM authentication, account processing,
# and session processing. If this is enabled, PAM authentication will
# be allowed through the ChallengeResponseAuthentication and
# PasswordAuthentication. Depending on your PAM configuration,
PasswordAuthentication yes
RH_rsyslogによる設定は/etc/ssh/sshd_confの末尾に記入されます。
同様に確認します。
~~中略~~
lpr.info /var/log/lpr.log
:fromhost-ip, isequal, "192.168.11.254" /var/log/router.log
RH_kdumpによる設定も確認していきます。
/etc/kdump.confにログの出力先などの情報が入力されています。
#nfs my.server.com:/export/tmp
#ssh user@my.server.com
#sshkey /root/.ssh/kdump_id_rsa
path /var/crash
core_collector makedumpfile -l --message-level 1 -d 31
#core_collector scp
#kdump_post /var/crash/scripts/kdump-post.sh
kdump用のメモリサイズも指定した値に変更されています。
GRUB_CMDLINE_LINUX="crashkernel=128M spectre_v2=retpoline rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet"
RH_name-resolveによる名前解決関係の設定もしっかり反映されています。
まずは/etc/hostsを見てみます。
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.11.20 test.domain.com
DNSサーバの情報も書き込まれています。
; generated by /usr/sbim/dhclient-script
nameserver 192.168.11.100
search test.com
同様に、RH_ntpによってNTPサーバの情報も追記されています。
下記ファイルの最終行を見てみます。
~~略~~
server 192.168.11.30 iburst prefer
RHEL収録のAnsible‐Roleにより、しっかりと基本設定が反映されていることが確認できました。
Apacheのインストール確認
次にApacheについても変更を確認していきます。
systemctlでhttpdの起動を確認します。
$ sudo systemctl status httpd | grep "Active"
Active: active (running) since 火 2020-09-29 12:46:24 JST; 23h ago
/etc/httpd/conf/httpd.confの内容を確認すると、
指定した通りの情報を含むconfファイルが配置されています。
~~略~~
KeepAlive On
MaxKeepAliveRequests 100
~~略~~
ServerName www.test.com
正しくApacheのインストール、起動設定、configの配置が行われています。
終わりに
今回はPlaybook CollectionとITAを利用して、ターゲットへの各種設定を行いました。
ITAreadmeの作成を行うことで、公開されているAnsible‐Role自体を変更することなく、ITAへの取り込みや実行ができる点が好印象でした。
今回の作業は極めてシンプルでしたが、本来はさらに幅広い作業が実行できます。RHELだけでも数多くのAnsible‐Roleが収録されていますし、Apache-setupの実行時はさらに多くのパラメータを設定できます。
Playbook Collectionを活用すればIaCの作成作業を大幅に短縮できるでしょう。