Назад | Перейти на главную страницу

Перенести существующий WordPress в ansible

Я пытаюсь автоматизировать развертывание инфраструктуры моей компании с помощью сине-зеленое развертывание и я думаю, что ansible хорошо подходит для этого проекта.

Один из веб-сайтов - это установка WordPress с изображениями объемом около 100 ГБ. В настоящее время база данных отделена от конфигурации nginx + php на собственном сервере.

Мои сомнения появляются на:

1- должен ли я сделать доступным создание этого конкретного веб-сайта или WordPress в целом? (там уже есть много кастомного кода)

2- как лучше всего поддерживать синхронизацию папки мультимедиа (загрузки), когда приходит время переключаться между синим и зеленым?

Согласно вашему комментарию - конечно, имеет смысл - всегда.

В Ansible есть возможность не только «клонировать» среду. Это также хорошо для использования в сценарии восстановления после аварии. Кроме того, если вы автоматизируете любые изменения в своей среде, вам будет немного легче увидеть любые внесенные вручную изменения.

  • ваша установка «лучше» задокументирована, когда вы используете Ansible, потому что изменение конфигурации в некоторых файлах не потеряно - это часть задачи - вы можете избежать полного доступа к своим производственным хостам (я видел парней, которые запрещают любой доступ по SSH, кроме Ansible). Приходит любое ручное изменение, потому что оно будет отменено при следующем запуске Ansible.
  • даже если вначале на это требуется время, через некоторое время будет намного проще делать обновления и обновления
  • потому что вы можете запускать свои playbooks в тестовой среде, а затем в производственной среде и т. д.
  • и если вы думаете, что вам нужно еще 20 серверов - тогда вам нужно только 20 новых строк в вашем инвентаре и выпить кофе в течение следующего часа, который запускает playbook.

О конкретном вопросе

  1. Очень хороший вариант - подумать о восстановлении после катастрофы. В этом случае у вас работает «пустая» ОС, и ваш анзибл создает вашу полную среду. Если можешь - ты герой компании. И каждый шаг в этом направлении - один шаг. Я бы сделал это (и я сделал). Таким образом, установка, настройка ОС - это один шаг (который не должен быть первым), установка, настройка Wordpress, ReverseProxy, если так, БД и т. Д. - еще один шаг. Составьте план: что вы делаете достаточно часто, что можно автоматизировать - автоматизируйте это, и у вас будет больше времени. И если вы думаете, что это нельзя автоматизировать, почему вы так думаете.

  2. Это вопрос, на который вам нужно ответить самому. Использование rsync - вариант. Другой вариант - использование сетевого ресурса. Есть syncronize modul в Ansible (который использует rsync). https://docs.ansible.com/ansible/latest/modules/synchronize_module.html