У Chef есть концепция атрибутов среды, которая применяется ко всем хостам в среде. Он также имеет понятие атрибутов, относящихся к отдельному узлу. Но есть ли способ указать атрибут, который применяется к кластеру узлов?
Например, скажем, у меня есть «host1» и «host2», которые вместе составляют логический узел «host», кроме того, они находятся в среде «joe», которая содержит все хосты, которые предназначены для клиента joe. Как указать атрибуты, применимые к host1 и host2, но не к остальной среде?
Вы думали об использовании ролей? Вы можете добавить к машине столько ролей, сколько хотите, и вы можете передавать списки выполнения и атрибуты через роли, так что у вас могут быть ваши 2 хоста в этой роли, которая имеет нужные вам атрибуты.
Роль также может переопределять атрибуты на случай, если они назначены где-то еще. Пожалуйста, посмотрите следующий график для порядка присвоения атрибутов (большее число выигрывает):
А вот и полный документация относительно атрибутов