Для начала необходимо установить следующие пакеты для развертывания кластера.

  • VirtualBox
  • vagrant
  • maven
  • gcc
  • git
  • jdk
  • python-dev(python-devel)
  • python-setuptool

Заходим в систему под юзером root и забираем готовые проекты с github:

Переходим в папку vagrant-puppet. Выполняем следующие действия:

  • дополняем/изменяем при желании config.json (размер памяти для vm, образ для создания виртуалок)
  • python prepare.py
  • cd vagrant && vagrant up

После завершения команды будет создан кластер. Для сборки приложения необходимо перейти в каталог, в который был помещен репозиторий https://github.com/auvn/megafon и выполнить команду

  mvn package 

После выполнения в подкаталоге target будет создан jar файл приложения. Для установки приложения на сервер необходимо вернуть в каталог vagrant-puppet/vagrant и запустить команду

  python deployer.py --hosts <список нодов, куда необходимо установить приложение (например, slave1,slave2)> install <путь к jar файлу> 

После успешного завершения команды спустя некоторое время (<1min) приложение будет запущено на указанных нодах. Так же будет представлен лог попыток обращения к сервису для получения ответа. Для проверки работоспособности приложения можно запустить команду

  python deployer.py --hosts <список нодов, которые необходимо проверить> test

В выводе будет показан результат.

Тестировалось на CentOS, RedHat, Ubuntu