LoginSignup
1
0

More than 5 years have passed since last update.

ansible+vagrantでwildflyの環境を構築する

Posted at

AnsibleはゲストOSにエージェントを構築しなくともSSHさえ繋がるなら設定とかをごにょごにょ自動化してくれる優れもの。
ということで、vagrantで構築したゲストOSに対して設定をしたい場合の書き方を備忘録として残す。
今回はWildflyをAnsible Galaxyを利用して構築してみる。

コマンド

brew install python
pip3 install pipenv

mkdir ansible-wildfly
cd ansible-wildfly

pipenv install ansible
pipenv shell

vagrant box add centos/7
vagrant init centos/7
mkdir data #今回関係ないが共有フォルダに使用する

Ansibleはpipから入れることにする。
ホスト環境に直接入れちゃうより入れたり消したりが楽なため。
そのあと以下のファイルを準備する。

準備するもの

Inventory

hosts
192.168.33.10 ansible_connection=ssh ansible_ssh_port=22 ansible_ssh_user=vagrant ansible_ssh_private_key_file=.vagrant/machines/default/virtualbox/private_key

ansible_connectionはデフォルトでSSHなので不要、ポートも通常は22なのでいらないかも。

Playbook

main.yml
- hosts: wildfly
  sudo: yes
  roles:{ role: inkatze:wildfly }

今回はWildflyで出てきたinkatze:wildflyを利用してみる

Vagrantfile

Vagrantfile
Vagrant.configure("2") do |config|
  config.vm.box = "centos/7"

  config.vm.network "forwarded_port", guest: 8080, host: 8080
  config.vm.network "private_network", ip: "192.168.33.10"
  config.vm.synced_folder "./data", "/vagrant_data"

  config.vm.provider "virtualbox" do |vb|
    vb.memory = "4096"
    vb.cpus = 2
  end
end

ポート8080はWildflyが使うデフォルトポート。メモリーは通常の1ギガだとおそらく実行可能要件を満たさないので4ギガほどにあげる。

実行

vagrant up
ansible-playbook -i hosts main.yml

なお、一度環境を潰して二回目を行おうとするとエラーとなる。エラーの原因は一度建ててしまったSSHのフィンガープリントが~/.ssh/known_hostsに保存されているからである。
対象のホストをknown_hostsから削除すればうまくいく。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0