使用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中删除目标主机,就可以成功执行。

广告
将在 10 秒后关闭
bannerAds