環境
OS : Windows 7(母艦とよぶ)
VirtualBox : 4.3.10
Vagrant : 1.5.1
vagrantで作成する環境
OS | 名前 | 備考 |
---|---|---|
Ubuntu 13.04 i386 | server | ansible入れてclientを弄る側 |
Ubuntu 13.04 i386 | client | 弄られる側 |
ansibletestフォルダの作成
C:\vagrantVMs\ansibletest
でやる
今持っているboxの確認
コマンドプロンプトで vagrant box list
vagrant 設定ファイルの作成
コマンドプロンプトで vagrant init <boxname>
例)
vagrant init Ubuntu-13.04-i386
2台立ち上げるために vagrant 設定ファイルを修正
# serverという仮想サーバを定義
config.vm.define :server do |server|
server.vm.box = "Ubuntu-13.04-i386"
server.vm.network :private_network, ip:"192.168.50.1"
end
# clientという仮想サーバを定義
config.vm.define :client do |client|
client.vm.box = "Ubuntu-13.04-i386"
client.vm.network :private_network, ip:"192.168.50.2"
end
vagrant 起動
vagrant up
起動確認
vagrant status
server running (virtualbox)
client running (virtualbox)This environment represents multiple VMs. The VMs are all listed
above with their current state. For more information about a specific
VM, runvagrant status NAME
.
server から clientにssh接続できるようにする
母艦の
C:\Users{ユーザ名}.vagrant.d\insecure_private_key
を server の id_rsa として配置する
- insecure_private_key を C:\vagrantVMs\ansibletest\tmp にコピーして、serverから見れるようにする
- ターミナルでserver(127.0.0.1:2222)に接続
- ローカルの秘密鍵をserverの秘密鍵に設定
$ cp /vagrant/tmp/insecure_private_key ~/.ssh/id_rsa
- chmod 600 id_rsa
server にログインして、sshしてclientに接続できることを確認する
$ ssh 192.168.50.2
server にansible インストール
proxy越えする場合
-
環境変数 .bashrc にproxy設定
~/.bashrcexport http_proxy="http://プロキシ名:ポート/" export https_proxy="http://プロキシ名:ポート/" export ftp_proxy="ftp://プロキシ名:ポート/"
再読み込み
$ source ~/.bashrc
via Apt
-
apt-get をproxy経由
80proxyファイルを作成する
$ sudo vi /etc/apt/apt.conf.d/80proxy
/etc/apt/apt.conf.d/80proxyAcquire::http::proxy "http://プロキシ名:ポート/";
-
add-apt-repositoryでProxy経由
visudoで以下を追記$ sudo visudo
Defaults env_keep="http_proxy" Defaults env_keep="https_proxy"
via Yum
-
yum をproxy経由
sudo vi /etc/yum.conf
して以下追記/etc/yum.confproxy=http://プロキシ名:ポート/
ansibleインストール
via apt
$ sudo apt-add-repository ppa:rquillo/ansible
$ sudo apt-get update
$ sudo apt-get install ansible
via yum
CentOS 外部レポジトリの追加(EPEL)
$ sudo rpm --httpproxy プロキシ名 --httpport ポート -ivh http://ftp.riken.jp/Linux/fedora/epel/6/i386/epel-release-6-8.noarch.rpm$ sudo yum install ansible
バージョン確認
$ ansible --version
ansible 1.4.3
ansible作業用ディレクトリを作成して移動
$ mkdir ~/ansible && cd ~/ansible
インベントリリストとなるhostsファイル作成
$ echo 192.168.50.2 > hosts
ansible動作確認
-
コマンドの書式
ansible -i <インベントリリストファイル> <対象> -m <モジュール名> -a <オプション>例) ping
$ ansible -i hosts 192.168.50.2 -m ping
192.168.50.2 | success >> {
"changed": false,
"ping": "pong"
}例) uname -r
$ ansible -i hosts 192.168.50.2 -a 'uname -r'
192.168.50.2 | success | rc=0 >>
3.8.0-35-generic
疎通確認まで完了
その他コマンド
- モジュールのドキュメント確認
$ ansible-doc <モジュール名>
参考
構成管理ツール Ansible について
入門Ansible
Chefがつらい人のためのAnsibleのはなし
構成管理ツール Ansible を使ってみる
Ansible Tutorial
ansibleを使ってみる
WindowsでAnsibleする
windowsでもansibleがしたいのでvagrant経由でdockerを使って二重仮想環境を構築する
Vagrant on Macで複数VM起動 + Ansible