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

Атрибуты Chef для нескольких «кластеров» узлов в одной «среде»

Как можно организовать атрибуты в Chef для поддержки нескольких изолированных кластеров почти идентичных серверов в среде?

У моей организации, как и у многих подобных, есть несколько промежуточных экземпляров. Разные промежуточные экземпляры должны использовать разные соединения с базой данных, имена хостов и тому подобное, но в остальном они идентичны. В мире, где один промежуточный экземпляр = 1 сервер, вы можете легко поместить промежуточные определенные атрибуты в среду Chef, называемую промежуточной, и вы можете определить конкретные атрибуты экземпляра на самом узле.

Но что происходит, когда каждый экземпляр промежуточного уровня представляет собой более одного сервера? Скажем, у нас есть несколько разных сервисов на разных узлах, которые взаимодействуют друг с другом и образуют экземпляр приложения.

Я не могу создать среду для каждого из этих экземпляров, поскольку узел может находиться только в одной среде, и я не хочу дублировать все общие атрибуты между ними. Точно так же я не хочу дублировать все атрибуты, специфичные для экземпляра / кластера, на каждом узле.

Должен ли я создать роль для каждого из этих экземпляров, у которого есть только конкретная конфигурация экземпляра / кластера? Должен ли я создать кулинарную книгу для каждого из этих случаев?

Я просматривал сообщения в блогах и тому подобное, но не нашел ничего по этому поводу.

Здесь нет правильного или неправильного. Использование разных ролей (вы можете назначить несколько) может быть одним из наиболее простых вариантов.

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

Но поскольку шеф-повар - это просто код, и вы можете делать почти все в коде, вы могли бы, например, также определить среду (не на условиях шеф-повара), используя имя хоста, которое затем шеф-повар считывает и использует набор атрибутов, указанных для этой среды. (и в chef вы можете указать эти наборы в окружении, роли, поваренной книге ...).