Vagrantの仮想環境にAnsibleを使って自動で開発環境を構築する。
最終的にはさくらVPSにさくらVPSのCentOS6.5で一番最初に行う基本設定で行った設定をAnsibleで行えるようになりたい。
Vagrant環境は前回と前々回で設定している。
MacにVirutalBoxとVagrantをインストール
MacにVagrantでCentOS6.6仮想環境を構築
1. Ansibleインストール
Ansibleをインストールする。
brew install ansible
バージョン確認。
ansible –version
ansible 1.9.2がインストールされた。
2. AnsibleでVagrantに接続
Vagrantファイルの編集
vim Vagrantfile
基本はプライベートネットワーク設定のコメントアウトを消すだけ。
Vagrant.configure(2) do |config| config.vm.box = "ceontos66" config.vm.network "private_network", ip: "192.168.33.10" end
インベントリファイルを作成する。
vim hosts
[pylocals] pylocal
sshコマンドからログインできるようにする。
まずは仮想環境を起動。
vagrant up
sshのconfigファイルに仮想環境の情報を追記する。
pylocalというホスト名。
vagrant ssh-config –host pylocal >> ~/.ssh/config
内容はこんな感じ。
cat ~/.ssh/config
Host pylocal HostName 127.0.0.1 User vagrant Port 2222 UserKnownHostsFile /dev/null StrictHostKeyChecking no PasswordAuthentication no IdentityFile /Users/runble1/vagrant/python/.vagrant/machines/default/virtualbox/private_key IdentitiesOnly yes LogLevel FATAL
sshで接続確認。
ssh pylocal
AnsibleからVagrantのローカル環境、pylocalにpingを飛ばしてみる。
ansible -i hosts pylocal -m ping
pylocal | success >> {
“changed”: false,
“ping”: “pong”
}
3. PlaybookからZshをインストール
プレイブックを作成する。
vim test-playbook.yml
今回はZshをインストールする。
name=zshのところを変えれば、違うソフトもインストールできる。
- hosts : pyservers user : vagrant sudo : yes tasks : - name : zshをインストール yum : name=zsh state=installed
プレイブックを実行。
ansible-playbook -i hosts test-playbook.yml
Zshがインストールされた確認しよう。
ssh pylocal
zsh –version
Ansible自体の説明はこのサイトがとても詳しいので。
コメント