LoginSignup
0
0

More than 3 years have passed since last update.

Ansible 初心者がplaybook~roleを学ぶ ③ Ansible初期設定

Last updated at Posted at 2020-10-16

本稿では前回インストールしたAnsibleを稼働させるための設定を行います。

1.ansibleリモートユーザを作成する。

$ sudo useradd ansible

2.ansibleユーザにパスワードを設定する。

  ※設定パスワードは何でも良い(わかりやすさでパスワードはansibleとします)

$ sudo passwd ansible
 >> passwordは、ansibleと応答する。

3.ansibleユーザのsudo有効化

3-1. visudoでwheelグループNOPASSWORD有効化

$ sudo visudo
~略~
## Same thing without a password
#%wheel  ALL=(ALL)       NOPASSWD: ALL    ← コメントアウト「#」を消す  

 
3-2.wheelグループにユーザansible追加

$ sudo usermod -aG wheel ansible

4.Ansibleターゲットサーバ(db,web)でも1~3の作業を行う

<ssh接続する時は以下で接続>
dbの場合:  ssh vagrant@192.168.16.12 でアクセスする。※パスワード:vagrant
webの場合: ssh vagrant@192.168.16.13 でアクセスする。※パスワード:vagrant

5.ansibleサーバでansibleユーザへ切替、公開鍵、秘密鍵生成

$ su ansible
$ cd /home/ansible
$ ssh-keygen -t rsa
> 全てEnterを応答する。
$ ll .ssh/
total 8
-rw------- 1 ansible ansible 1675 May 16 03:08 id_rsa      ←秘密鍵が生成されている。
-rw-r--r-- 1 ansible ansible 397 May 16 03:08 id_rsa.pub    ←公開鍵が生成されている。

6.ansibleサーバ(ansibleユーザの)公開鍵をターゲットサーバ(db,web)へ転送する。

$ ssh-copy-id -i /home/ansible/.ssh/id_rsa.pub ansible@192.168.16.12    …dbの場合
$ ssh-copy-id -i /home/ansible/.ssh/id_rsa.pub ansible@192.168.16.13  …webの場合

7.ansible作業用ディレクト作成

$ mkdir /var/tmp/ansible
$ cd /var/tmp/ansible 

8.inventoryファイル作成

$ mkdir /var/tmp/ansible/inventory
$ vi /var/tmp/ansible/inventory/hosts
[web]
192.168.16.13 
[db]
192.168.16.12

9.ansible.cfg作成(ansibleの動作チューニング)

$ pwd
/var/tmp/ansible

$ vi ansible.cfg

[defaults]
inventory=./inventory         #inventoryファイルの指定
remote_user=ansible          #ansibleリモートユーザの指定
transport = ssh
log_path = /var/log/ansible.log     #ansibleの動作ログ出力先の指定

[privilege_escalation]
sudo_user = root           # sudoユーザの指定                  
become = ture             # ansible稼働時にsudoの許可

[ssh_connection]
pipelining = True           # ansible処理動作の高速化
ssh_args = -o ControlMaster=auto -o ControlPersist=300s 

[accelerate]
accelerate_port = 5099           
accelerate_timeout = 30

以下を参考にさせていただきました。
参考:https://qiita.com/h_matsuno1028/items/33f06298d7d05bf1e295
参考:https://thinkit.co.jp/article/9990
参考:https://qiita.com/c0tt0n-candy/items/83dfbb158f4520bba7e2

10.ansible.logの作成

$ sudo touch /var/log/ansible.log
$ sudo chown ansible:ansible /var/log/ansible.log
$ ls -ltr /var/log/ansible.log
-rw-r--r-- 1 ansible ansible 0 Oct 17 05:59 /var/log/ansible.log

11.ansible動作確認

11-1. ansible adhoc でターゲットweb、dbへpingモジュールでping確認。

$ date;ansible web,db -m ping;date
Sat 17 Oct 06:05:04 BST 2020
192.168.16.13 | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "changed": false,
    "ping": "pong"
}
192.168.16.12 | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "changed": false,
    "ping": "pong"
}
Sat 17 Oct 06:05:14 BST 2020

11-2 ansible adhoc でターゲット全てに、shellモジュールでhost名確認。

$ date;ansible -i inventory/hosts all -m shell -a 'uname -n';date
Sat 17 Oct 06:06:16 BST 2020
192.168.16.13 | CHANGED | rc=0 >>
db
192.168.16.12 | CHANGED | rc=0 >>
web
Sat 17 Oct 06:06:26 BST 2020

12.ansible.logの出力確認


$ cat /var/log/ansible.log

2020-10-05 00:49:19,531 p=14212 u=ansible n=ansible | 192.168.16.12 | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "changed": false,
    "ping": "pong"
}
2020-10-05 00:49:19,546 p=14212 u=ansible n=ansible | 192.168.16.13 | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "changed": false,
    "ping": "pong"
}
2020-10-05 00:49:33,695 p=14228 u=ansible n=ansible | 192.168.16.13 | CHANGED | rc=0 >>
web

2020-10-05 00:49:33,712 p=14228 u=ansible n=ansible | 192.168.16.12 | CHANGED | rc=0 >>
db

これでansibleの大まかな設定は完了。

(追加) mitogen導入(ansible高速化)

※PCのスペックのせいなのか高速化の実感できなかったため、おまけです。


$ sudo yum install wget unzip -y

$ wget https://github.com/dw/mitogen/archive/master.zip -P /var/tmp/

$ unzip /var/tmp/mitogen-master.zip -d /var/tmp/

$ chown -R ansible:ansible /var/tmp/mitogen-master

$ vi ansible.cfg
[defaults]
~
strategy_plugins = /var/tmp/mitogen-master/ansible_mitogen/plugins/strategy
strategy = mitogen_linear

次回Link>>Ansible 初心者がplaybook~roleを学ぶ ④ (wordpress環境構築)-単体playbook編-

0
0
0

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
0