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

автоматическое обновление шеф-повара

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

Я знаю, что могу создавать сценарии обновлений моих узлов и обновлять их по запросу, но мне интересно, разрешают ли люди автоматическое обновление своих узлов в процессе производства и как они справляются с обновлением, пока сервер используется.

It Depends ™ от того, как на самом деле работает ваша среда.

Например: я только что разговаривал с одним из бывших системных администраторов Heroku. У них есть высокоавтоматизированная система; когда на узле требуется обновление или что-то еще, он переходит в «режим обслуживания». Весь трафик выгружается на другие серверы; как только это будет сделано, он будет «готов к обслуживанию», будут применены обновления, и он перезагрузится. Когда он возвращается, другие системы распознают его как «готовый», и он снова начинает получать трафик.

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