Второй скрипт, который вы ссылаетесь (gce/upgrade.sh), работает только в том случае, если ваш кластер работает на GCE. Для AWS еще нет эквивалентного скрипта, но вы можете посмотреть на скрипт и выполнить шаги (или записать их в скрипт), чтобы получить такое же поведение.
Основные отличия между upgrade.sh и kube-push.sh в том, что первый выполняет замену обновления (удалите узел, создайте новый узел, чтобы его заменить), в то время как позднее выполняется обновление «на месте».
Снятие и замена главного узла выполняется только в том случае, если постоянные данные (база данных etcd, серверные сертификаты, авторизованные маркеры на предъявителя и т. Д.) Находятся на постоянном диске отдельно от загрузочного диска ведущего устройства (таким образом он настроен на по умолчанию в GCE). Удаление и замена узлов должны быть в порядке на AWS (но имейте в виду, что любые модули, не находящиеся под контроллером репликации, не будут перезапущены).
Выполнение обновления на месте не требует какой-либо специальной конфигурации, но этот путь кода не так тщательно протестирован, как опция удаления и замены.
Вам не нужно полностью заменять ваш кластер при обновлении до новой версии, если только вы не используете предварительно выпущенные версии (например, альфа-версии или бета-версии), которые иногда могут прерывать изменения между ними.
Отлично, спасибо! –
Похоже, что 'kube-push.sh' сломан и [вряд ли будет исправлен] (https://github.com/kubernetes/kubernetes/issues/17397). Поэтому рекомендуется использовать 'upgrade.sh'. –
@MatthewStrawbridge - это правда. В рамках усилий Cluster API мы изучаем работу по обновлению на месте. –