Ansileのインストールと設定

2019.10.2 (水)

CentOS7にAnsibleをインストールする例です。

# yum install epel-release
# cd ~
# yum -y install ansible

バージョン確認。ansible 2.8.5が入りました。

# ansible --version
ansible 2.8.5
  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 = /bin/ansible
  python version = 2.7.5 (default, Aug  7 2019, 00:51:29) [GCC 4.8.5 20150623 (Red Hat 4.8.5-39)]

Hello world的な感じでlocalhostに対してansibleを実行します。pingを投げているだけです。

# ansible -m ping localhost

localhost | SUCCESS => {
    "changed": false, 
    "ping": "pong"
}

SUCCESSが返ってくれば成功です。
時々「[WARNING]: No inventory was parsed, only implicit localhost is available」といった警告が出ることがあります。インベントリファイルが読み込めなった(まだ設定していない)ということなので気にしなくていいです。

ansibleって何?

Ansible入門

  • エージェントレスな構成管理ツールと呼ばれています。Infrastructure as a Code なんていう文脈の中では Chef, Puppet などと並んで必ず出てくるツールの1つかと思います。
  • サーバーの設定を定義ファイルにしておいて、同じ設定を別のサーバーでもできるようにする。通常はリモートの別ホストの設定をするが、ものによっては自分自身に対しての設定も可能。(Macであれば会社のPC設定なども一度に同じ設定が可能です。)
  • 通常はSSHで通信して実行する。(のでSSHの設定が必要)
  • Python3があればOK。Python2でもできる。
  • OSを判別して実行することもできる。(If分岐みたいなやつ)
  • 非常にシンプル。学習コストが低い。
  • 処理はyamlで書く。Pythonは実際は使わない。

本もkindleだとやすかった。
https://www.amazon.co.jp/dp/B00MALTGDY

/etc/ansible/ansible.cfgの設定

/etc/ansible/ansible.cfgに設定ファイルが格納されています

/etc/ansible
├── ansible.cfg
├── hosts
└── roles