2012-04-24 5 views
4

У меня есть несколько разных серверов, используемых для разных целей. Каждый использует mysql, но его нужно настроить немного иначе. => Различные пользователи, разные базы данных.Организация поваров для шеф-поваров для разных серверов

У меня есть кулинарная книга, которая устанавливает mysql.

Вопрос в том, где я должен поместить скрипты, которые создают базы данных и пользователей для mysql?

Sould это будет:

  1. Один сценарий для каждого сервера (роль) внутри тузд поваренной книги? (Таким образом, разные конфигурации для 1 сервера будут в разных кулинарных книгах)
  2. Создайте поваренную книгу для каждой роли, где я объединяю все особые конфигурации, касающиеся этой роли. (Таким образом, разные конфигурации для 1 сервера будут в 1 конкретном месте, но у нас будет 1 дополнительная поваренная книга)

Я лично считаю, что # 1 лучше, так как мы все равно присоединяемся к различным кулинарным книгам под ролью I.

Редактировать

Это касается не только базы данных. Например, у меня есть некоторые приложения, которые требуют установки и настройки tomcats/причалов/других контейнеров по-разному (разные порты, разные модули включены). Где хранятся различные версии settings.xml/jetty.xml и т. Д.? В кулинарной книге, что

  1. устанавливает или
  2. кот
  3. , который устанавливает другое приложение, которое требует кота?

ответ

5

Я бы предложил включить Opscode database cookbook, который предоставляет LWRP для управления базами данных и пользователей баз данных.

Далее я бы предложил создать одну общую кулинарию, которая использует LWRP для баз данных и data bags. Суммы данных будут содержать вашу конфигурационную информацию и будут изолировать различия на уровне конфигурации сервера.

Это позволит вам определить свои данные для каждого сервера (пользователей, баз данных и т. Д.) И написать одну кулинарную книгу, которая может извлекать данные и использовать их.

Кроме того, ознакомьтесь с encrypted data bags, который позволяет хранить ваши пароли в зашифрованном виде на вашем сервере шеф-повара.

0

Эта проблема, кажется, кричит, чтобы вы использовали environment, а затем имеете разные data bag entries based on environment.

Я бы разместил эти серверы в соответствующей среде, соответствуя настройкам, которые у них есть.

Альтернативно, предложение, которое у вас есть вокруг ролей, также имеет смысл.