Во всех примерах Chef, которые я видел, автомасштабирование работает довольно просто - вы предоставляете что-то вроде хоста БД, а затем веб-серверов. Вы можете создать столько веб-серверов, сколько захотите - все они будут использовать один и тот же хост БД (никаких изменений не требуется).
Но что, если моя книга рецептов / узлов требует изменения конфигурации на некоторых других внутренних узлах? Как я могу это сделать с шеф-поваром? Например, у меня есть существующий отражатель маршрута BGP (птица), я предоставляю новый пограничный узел птицы и, в качестве зависимости, мне нужно сгенерировать новую конфигурацию однорангового узла iBGP и перечитать файл конфигурации на узле отражателя маршрута BGP.
Какая лучшая практика? Следует ли мне использовать chef-push-jobs для отправки изменений в узлы отражателя маршрутов BGP?
У Chef нет внутренней системы для этого. В общих чертах то, о чем вы говорите, - это «обнаружение службы», когда одна служба хочет узнать информацию о другой службе в сети. У Chef есть простая система SD через search()
API, но существуют также специализированные системы SD, такие как Consul, Eureka и mDNS / Autoconf.
Когда у вас есть данные службы в том виде, в котором к ним можно получить доступ, следующий вопрос - как справиться с обновлениями, распространяющимися по сети. Сам по себе Chef обычно использует службу в режиме демона, выполняющую конвергенцию каждые X секунд. Это будет означать, что если вы установите X равным 60, то через 119 секунд все будет обновлено. Если вам нужно что-то более быстрое, есть такие варианты, как отправка уведомлений с одного узла на другой или использование центральной системы оркестровки для отправки как исходного изменения, так и для обработки каскадных обновлений. Теоретически здесь можно использовать Chef Push Jobs, но я бы не рекомендовал это делать. Что-то вроде Consul + Consul Templates, вероятно, то, что вам нужно для быстрой настройки конфигурации и обновлений SD, или просто позвольте интервальному запуску Chef позаботиться об этом для вещей, которые меняются реже.