Wildfly Standalone HA + Gossip Router Vagrant Puppet
Working vagrant and Virtualbox.
Ruby (checkout RVM: https://rvm.io/)
Docker (for Gossip Router)
gem install r10k --no-ri --no-rdock
r10k puppetfile install
vagrant up load-balancer instanceN
vagrant up gossiprouter --provider docker
Multi-machine environment with:
- gossiprouter (Very simple docker container running a Gossip Router, useful where multicast is not an option, like AWS and other cloud providers)
- load-balancer (centos-7-httpd-modcluster) (Apache + mod_cluster)
- instance1 (centos-7-instance1) (Wildfly 9.0.2 Standalone Full HA)
- instance2 (centos-7-instance2)(Wildfly 9.0.2 Standalone Full HA)
New instances can be provisioned with incrementing
WILDFLY_INSTANCES range in Vagrantfile.
cluster-demo is a sample application to test cluster behavior: https://github.com/liweinan/cluster-demo
vagrant docker-logs gossiprouter
There are two ansible playbooks:
wildfly-first-deployment: Deploys a package to Wildfly instances.
wildfly-rolling-deployment: Disables instance in the load balancer, updates deployment, enable instance. One by one, no downtime.
To execute it you'll need ansible installed in your computer:
ansible-playbook wildfly-first-deployment.yml --ask-pass
Password for root is: 'puppet'