使用Ansible和Vagrant搭建Wildfly环境
Ansible是一种优秀的工具,即使没有在客户机操作系统上安装代理,只要可以SSH连接,它也能自动化配置等操作。
因此,我将记录一下在vagrant构建的客户机操作系统上进行配置的方法,作为备忘录。
本次尝试使用Ansible Galaxy构建Wildfly。
命令
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 #今回関係ないが共有フォルダに使用する
决定从pip安装Ansible,这比直接安装在主机环境上更方便安装和卸载。
然后准备以下文件。
准备的东西
库存
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,默认也不需要指定。
剧本
- 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默认使用的端口。如果内存只有1GB的话可能无法满足运行要求,建议提升到约4GB左右。
执行
vagrant up
ansible-playbook -i hosts main.yml
注意:试图在环境被毁后进行第二次操作会导致错误。错误的原因是已经创建的SSH指纹被保存在~/.ssh/known_hosts中。如果从known_hosts中删除目标主机,就可以成功执行。