前提・例
対象サーバにおいて
* IPアドレス: 192.168.1.5
* CentOS
* taro01
というsudo権限のあるユーザがいる
これらの例を前提とします
MacにAnsibleをインストール
公式によると、Pythonで使われるpipを利用するのが一番良いらしい。
参考
これらを参考にpipを手に入れる
virtualenvでpipを使い分けるなど良しなに
Ansibleをpipでインストール
$ pip install ansible
最新バージョンをインストールする場合
$ pip install git+git://github.com/ansible/ansible.git@devel
MacのSSH公開鍵を対象サーバの~/.ssh/authorized_keys
へ追記
Macの~/.ssh/id_rsa.pub
の中身を
対象サーバ内の/home/taro01/.ssh/authorized_keys
ファイルへ
FTPやらコピペやら等を利用して追記する
例
Mac側で
Mac側で公開鍵を作っていなかったら作る
$ ssh-keygen
SCPで公開鍵ファイル転送
$ cd ~/.ssh
$ scp id_rsa.pub taro01@192.168.1.5:~/.ssh/mac_rsa.pub
対象サーバ側で
authorized_keys
ファイルに追記
$ cd ~/.ssh
$ cat mac_rsa.pub >> authorized_keys
公開鍵を削除しておく
$ rm ~/.ssh/mac_rsa.pub
Ansibleのインベントリファイルを作成
Mac側でインベントリファイルを作成
例
[all]
192.168.1.5
Pingで接続確認
Mac側で
$ ansible 192.168.1.5 -m ping -i hosts -u taro01
正常に接続できることを確認する
Ansilbe Playbook利用
ここまで整えばAnsibleで環境構築が可能
PlayBookを作成
プレイブックYAMLファイル 例
site.yml
---
- name: sample playbook
hosts: all
remote_user:
become: True
tasks:
- name: install the latest version of Apache
yum: name=httpd state=latest
ansible-playbook
コマンドを実行
$ ansible-playbook site.yml -i hosts -u taro01
Ansibleが実行される