Ansible でプロビジョニングできるようにしておくと便利ですので、ローカル環境を Vagrant と Ansible を使って構築していきます。
Contents
インストールするもの
- VirtualBoxのインストール
- Vagrantのインストール
- Ansibleのインストール
※VirtualBoxとVagrantに関しては下記を参照ください。
Ansible のインストール
※ Mac をコントローラーサーバとした場合
1 |
$ brewをインストールする |
※ Homebrew が古い場合はアップデートを行う
1 |
$ brewの更新 |
※ Centosをコントローラーサーバとした場合
1 2 |
$ sudo yum install epel-release $ sudo yumをインストールする--enablerepo = epel-testing |
※ Vagrant から ansible_local でインストールする場合は Vagrantfile に下記を追記
1 2 3 4 5 6 7 |
config.vm.provision:ansible_local do |できない| ansible.playbook = "playbookファイルのパス" ansible.verbose = true ansible.install = true ansible.limit = "すべて" ansible.inventory_path = "インベントリのパス" 終わり |
Ansible のバージョン確認
1 |
$ ansible --version |
ansible.cfg の設定
1 |
※デフォルト設定の場合はそのままにしておく |
インベントリの設定
※ファイル作成
1 |
$ vim ./inventory |
※ファイル編集(192.168.33.10に ansible をインストールしてプロビジョニングサーバとした場合)
1 2 3 4 5 |
192.168.33.10 ansible_connection=local 192.168.33.11 ansible_ssh_host=192.168.33.11 ansible_ssh_private_key_file=/home/vagrant/.ssh/private_key [nodes] 192.168.33.11 |
ansible コマンド
※192.168.33.10と192.168.33.11のゲストがあり、192.168.33.10から192.168.33.11へ向けて実行する場合
1 |
$ ansible 192.168.33.11 --private-key=秘密鍵のパス -u vagrant -m ping -i インベントファイルのパス |
ansible-playbook コマンド
1 |
$ ansible-playbook playbook.ymlのパス -i インベントファイルのパス |
まとめ
ansible で playbook にまとめておくと、統一された環境を簡単に構築でき、共有してローカル環境を統一するのも楽にできますね。