Ansibleで単一playbookからroleを使った構成を学ぶまでに行ったことを記述します。
<注意>この記事では、
環境作りを記載しているため、Ansibleはまだ出てきませんので、ご了承ください。
検証を行うPCは、Windows10でvirtualbox、vagrantを用いて
環境構築を行う一貫として一旦、空のVM作成をゴールとしています。
###1. virtualbox,vagrantのインストール
参考記事:https://qiita.com/tarosaiba/items/a2769c8152dd3702778e
###2. virtualbox(vagrant)でVMを3つ作成する。
vm name | ip address | os | memory | cpu core |
---|---|---|---|---|
ansible | 192.168.16.11 | centos7.2 | 2GB | 1core |
web | 192.168.16.12 | centos7.2 | 2GB | 1core |
db | 192.168.16.13 | centos7.2 | 2GB | 1core |
#####2-1. デスクトップにフォルダ作成
Desktop配下
・Ansible-test/vagrant-ansible
・Ansible-test/vagrant-Web
・Ansible-test/vagrant-db
#####2-2. コマンドプロンプトでvagrantのbox(centos7.2)を追加する。
> vagrant box add centos7.2 https://github.com/CommanderK5/packer-centos-template/releases/download/0.7.2/vagrant-centos-7.2.box
> vagrant box list
centos7.2 (virtualbox, 0) << box:centos7.2が追加された。
#####2-3. コマンドプロンプトでvagrantfileを作成 (vm:ansibleの場合)
※db,webの場合は『移動先フォルダ』変わるので注意!!
> cd C:\Users\{ユーザ名}\Desktop\Ansible-test\vagrant-ansible
> vagrant init
#####2-4. vagrantfileをメモ帳で中身を削除して以下のように編集する。
<ansible:コピペ用>
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
config.vm.box = "centos7.2"
# VMのIPアドレスを設定(host only adpter)
config.vm.network "private_network", ip: "192.168.16.11"
# os上でのVM名指定
config.vm.hostname = "Ansible"
# VM名指定(virtualbox上の名前)、メモリサイズ指定
config.vm.provider :virtualbox do |vb|
vb.name = "Ansible"
vb.memory = "2048"
end
end
#####2-5. 『web』、『db』も同様に、2-3.~2-4.を繰り返す。
★注意2-4.vagrantfileをdb、webで、それぞれ以下パラメータ部分修正する!
<dbの場合、以下のパラメータを修正>
config.vm.network "private_network", ip:"192.168.16.12"
config.vm.hostname = "db"
vb.name = "db"
<webの場合、以下のパラメータを修正>
config.vm.network "private_network", ip: "192.168.16.13"
config.vm.hostname = "web"
vb.name = "web"
#####2-6.VM作成(vm:ansibleの場合)※db,webの場合は『移動先フォルダ』変わるので注意!
> cd C:\Users\{ユーザ名}\Desktop\Ansible-test\vagrant-ansible
> vagrant up
※vagrant up実行した際に
Host only adpter追加のポップアップ[virtualbox interface]が出た場合はOKする。
####2-7.db,webも2-6の作業を行う。
virtualboxに空VMが3台作成されたらゴール
-追伸-
ビルド&デストロイを容易にするためにWindowsのbat化させました。
何かの機会に公開するかもです。以降の手順作るのに創造と破壊を繰り返すことになったため…。
####次回Link>>Ansible 初心者がplaybook~roleを学ぶ ② Ansibleインストール