Skip to content

paulDashkevich/keepalived_wordpress

 
 

Repository files navigation

Данная конфигурация позволяет развернуть комплекс виртуальных машин на Ubuntu 18.04 в провайдере Advanced Hosting (AH):
- 2 ВМ с nginx, php-fpm, wordpress с настроенным плавающим адресом keepalived
- 1 ВМ БД для WordPress
- 1 ВМ proxy pass для проверки keepalived

Настройка будет происходить через Ansible. 

Виртуальные машины будут развёрнуты с адресами из подсети 192.168.1.0/24.

Требования для запуска данной конфигурации: 
-Наличие Linux-машины
-Установленные пакеты Ansible 2.7 и Terraform.
-Аккаунт в Advanced Hosting, c добавленым токеном и ssh fingerprint. 
-В аккаунте AH не должно быть заведено сетей 192.168.1.0/24 и 192.168.2.0/24.


Описание файлов:
-ansible.cfg - файл с конфигурацией Ansible
-main.tf - главный файл для terraform. Указываем наш провайдер и токен для работы с провайдером. 
-variables.tf - описание типов всех переменных
-vm.tf - файл, с описанием ВМ
-terraform.tfvars - файл, в котором хранятся все значения переменных. НУЖНО ЗАПОЛНИТЬ ПЕРЕД запуском команды terraform apply
-template.tf - сценарий, в котором содержится инструкция по выводу всех адресов в файл hosts
-output.tf - terraform-сценарий, который выводит нам IP-адрес созданной виртуальной машины
-provision.yml - Ansible-playbook для установки для развертывания кластера, ISCSI и GFS2.
-inventory.tpl - указываем формат файла hosts

Конфигурационные файлы:
- keep_web1 - конфигурационный файл для Keepalived (Master)
- keep_web2 - конфигурационный файл для Keepalived (Backup)
- php.ini - конфигурационный файл для php-fpm
- wordpress.conf - конфигурационный файл для nginx wordpress
- 50-server.cnf - конфигурационный файл mysql
- wp-config.php - конфигурационный файл для подключения к БД WordPress на другом сервере
- default - конфигурационный файл для proxy pass nginx


Как развернуть виртуальную машину: 
1) На подготовленную Linux-машину копируем все файлы (main.tf, variables.tf, vm.tf, terraform.tfvars, template.tf, output.tf, provision.yml, inventory.tpl + все конфигурационные файлы)
2) Открываем файл terraform.tfvars и вносим следующие значения параметров:
  -ah_dc - можно указать значение ams1 (Дата-центр в Амстердаме) или ash1 (Дата-центр в Америке)
  -ah_token - указываем значение из AH - API - Manage API access tokens
  -ah_machine_type - указываем тип машины, например "start-l" все типы можно посмотреть в  AH - API - Slugs - Cloud Servers
  -ah_image_type - "ubuntu-18_04-x64", список всех образов можно посмотреть в AH - API - Slugs - Images

3) В файле vm.tf в разделе указываем fingerprint вашего ключа из AH - SSH KEYS

4) Находясь в каталоге, выполняем команду terraform plan. Данная команда поможет проверить, не было ли допущено ошибок

5) Выполняем команду terraform apply -auto-approve
Будет развернуто 2 ВМ на CentOS 7 и, с помощью Ansible, на первую машину будет установлен ISCSI Target, а на второрую - ISCSI Initiator с Multipath.


Проверка корректного выполнения скрипта:
В файле hosts смотрим ip-адрес прокси сервера, вводим его в адресную строку. Должно открыться окно настройки WordPress.

Проверка корректной работы keepalived:
Можно выключить один из Web-серверов (web1 или web2), и снова попровать подключиться через прокси, также должно открыться окно настройки WordPress.

Удаление ВМ:
Для удаления ВМ достаточно ввести команду: terraform destroy -auto-approve

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • PHP 59.9%
  • HCL 38.7%
  • Smarty 1.4%