らくがきちょう

なんとなく

CentOS7 / Ubuntu 16.04 へ Ansible2 をインストールする

Ansible のインストール手順と簡単な playbook の実行方法をメモしておきます。

CentOS7

yum でインストールする

epel からインストール可能です。

yum -y install epel-release
yum -y install ansible

2.1.2.0 がインストールされました。

# ansible --version
ansible 2.1.2.0
  config file =
  configured module search path = Default w/o overrides

pip でインストールする

yum -y install epel-release
yum -y install --enablerepo=epel python-pip
pip install --upgrade pip
yum install -y gcc libcurl-devel libffi-devel openssl openssl-devel python-devel
pip install ansible
pip install --upgrade ansible

2.1.2.0 がインストールされました。

# ansible --version
ansible 2.1.2.0
  config file = /etc/ansible/ansible.cfg
  configured module search path = Default w/o overrides

Ubuntu 16.04

標準リポジトリからインストール可能です。

apt-get -y install ansible

2.0.0.2 がインストールされました。

# ansible --version
ansible 2.0.0.2
  config file = /etc/ansible/ansible.cfg
  configured module search path = Default w/o overrides

ansible-playbook の実行

ansible の実行元ホストから宛先ホスト(ターゲット)に対しては「sudo 可能な一般ユーザ」を使い、公開鍵方式で SSH ログイン出来るように設定されている前提です。

HOSTS

ansible の実行対象のアドレスを記載しておきます。

10.101.0.12

INSTALL.yml

実行する内容を記載しておきます。今回は yum で sysstat をインストールしてみます。

- hosts: all
  tasks:
    - name: install sysstat package.
      yum: name=sysstat

実行してみる(1 回目)

failed=0 なのでエラー無く完了しているのが分かります。また、changed=1 なので「1 箇所の変更」があったことが分かります。

$ ansible-playbook -s -i ./HOSTS INSTALL.yml

PLAY [all] *********************************************************************

TASK [setup] *******************************************************************
ok: [10.101.0.12]

TASK [install sysstat package.] ************************************************
changed: [10.101.0.12]

PLAY RECAP *********************************************************************
10.101.0.12                : ok=2    changed=1    unreachable=0    failed=0

実行してみる(2 回目)

再度、実行してみるとエラーにはなりませんが、changed=0 なので「変更はされなかった」のが分かります。

$ ansible-playbook -s -i ./HOSTS INSTALL.yml

PLAY [all] *********************************************************************

TASK [setup] *******************************************************************
ok: [10.101.0.12]

TASK [install sysstat package.] ************************************************
ok: [10.101.0.12]

PLAY RECAP *********************************************************************
10.101.0.12                : ok=2    changed=0    unreachable=0    failed=0