まずは検証で使用する環境を準備しておきます。
検証用環境としてVMを2台用意しました。
・Ansibleコントローラーを1台(ansible-ctl)
・Ansibleターゲットを1台(ansible-node01)
OSはどちらもCentOS 7.9を利用します。
まずはAnsibleをインストールするためにepelを入れます。
[root@ansible-ctl ~]# yum install epel-release-7-11.noarch
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
* base: ftp.riken.jp
* epel: ftp.riken.jp
* extras: ftp.riken.jp
* updates: ftp.riken.jp
パッケージ epel-release-7-11.noarch はインストール済みか最新バージョンです
何もしません
[root@ansible-ctl ~]#
[root@ansible-ctl ~]# rpm -qa | grep epel
epel-release-7-11.noarch
[root@ansible-ctl ~]#
※コマンドはインストール後、再度同じコマンドを実行した結果のため既にインストール済みと表示されています。
次にAnsibleをインストールします。
[root@ansible-ctl ~]# yum install ansible
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
* base: ftp.riken.jp
* epel: ftp.riken.jp
* extras: ftp.riken.jp
* updates: ftp.riken.jp
パッケージ ansible-2.9.23-1.el7.noarch はインストール済みか最新バージョンです
何もしません
[root@ansible-ctl ~]#
導入バージョンはAnsible 2.9になります。
[root@ansible-ctl ~]# ansible --version
ansible 2.9.23
config file = /etc/ansible/ansible.cfg
configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python2.7/site-packages/ansible
executable location = /usr/bin/ansible
python version = 2.7.5 (default, Nov 16 2020, 22:23:17) [GCC 4.8.5 20150623 (Red Hat 4.8.5-44)]
[root@ansible-ctl ~]#
AnsibleコントローラーからAnsibleターゲットへSSH接続できるようにしておきます。検証が目的なのでセキュリティについては考慮しない設定にしています。
SELinux,firewalldはどちらも停止しておきます。
[root@ansible-ctl ~]# getenforce
Disabled
[root@ansible-ctl ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:firewalld(1)
[root@ansible-ctl ~]#
Ansibleコントローラーで認証用の鍵を作成し、Ansibleターゲットに登録しておきます。実行ユーザはrootを使用します。
Ansibleコントローラー
[root@ansible-ctl ~]# ssh -keygen -t rsa
Generating public/private rsa key pair.
Ansibleターゲット
[root@ansible-node01 .ssh]# pwd
/root/.ssh
[root@ansible-node01 .ssh]# ls -ltr
合計 4
-rw------- 1 root root 398 7月 13 20:55 authorized_keys
[root@ansible-node01 .ssh]#
AnsibleコントローラーからSSH接続できることを確認します。
[root@ansible-ctl ~]# ssh 192.168.157.137
Last login: Wed Jul 14 20:43:43 2021 from 192.168.157.1
[root@ansible-node01 ~]#
Ansibleの動作を確認するためpingモジュールを実行します。まずはインベントリーにAnsibleターゲットを追加します。
Ansibleターゲットをnode1として登録しました。
# vi /etc/ansible/hosts
...
node1 ansible_host=192.168.157.137
...
ansibleコマンドからnode1へ、pingモジュールを実行します。
[root@ansible-ctl ~]# ansible node1 -m ping
node1 | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python"
},
"changed": false,
"ping": "pong"
}
[root@ansible-ctl ~]#
SUCCESSが返ってきました。
これでAnsibleの実行環境の準備が完了しました。
次はファイル操作を見ていきます。