Обновление версии кластера

Обновлена 15 апреля 2024 г. в 08:50

Обновление версии кластера

Для кластеров Kubernetes версий 1.17.8 и выше в VK Cloud доступна операция обновления версии Kubernetes на одну из поддерживаемых версий. Понижать версии нельзя.

Обновить кластеры версий 1.16 и ниже можно только путем переноса резервной копии данных в новый кластер нужной версии, например, с помощью Velero.

При обновлении кластера также обновляется часть компонентов кластера. Причем если обновляемый вместе с кластером компонент был удален, он восстановится при обновлении кластера. Перечень обновляемых компонентов:

Gatekeeper.

Shell Operator.

Kubernetes Dashboard.

CoreDNS.

При обновлении CoreDNS текущий Corefile перезаписывается на новый с настройками по умолчанию.

Если в кластере используется модифицированный Corefile, создайте его резервную копию перед обновлением кластера.

Аддоны не обновляются вместе с кластером. При необходимости обновите аддоны самостоятельно после завершения обновления кластера.

Обновление кластера происходит следующим образом:

Обновляются master-узлы. Обновление происходит по принципу rolling update (шаг за шагом):

Обновляется первый master-узел: он выводится из кластера, обновляется, проходит проверку успешности обновления и возвращается обратно в кластер.
Как только в кластер вернулся обновленный master-узел, обновляется следующий узел. Последовательно, по одному узлу за шаг, обновляются все master-узлы кластера.

Обновляются worker-узлы в группах.

Процедура тоже выполняется по принципу rolling update (шаг за шагом), но за шаг обновляется не один, а максимально возможное количество узлов. Это количество рассчитывается, исходя из настройки группы узлов Процент недоступных нод при обновлении кластера. При расчетах используется округление до целого в большую сторону.

Как выбирать значение настройки:

Пусть:

В кластере есть группа из девяти worker-узлов, на которых выполняется критичная для бизнеса нагрузка. Эти сервисы и приложения должны быть доступны в течение всего процесса обновления.
Для работы нагрузки требуется не менее шести узлов, т.е. можно позволить одновременное обновление трех узлов.

Чтобы выбрать значение настройки:

Вычислите, какой процент узлов допустимо обновлять. Для этого разделите максимальное число узлов, которое допустимо обновлять, на общее число узлов, и умножьте на 100:

(3 / 9) x 100 = 33,33333...%

Округлите полученный результат в меньшую сторону. Это и будет оптимальное значение настройки:

9 x 33% = 2,97

Полученный дробный результат будет округлен до целого в большую сторону. Итого можно одновременно обновлять три узла из девяти, что удовлетворяет требованиям.

Задайте значение настройки:

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

В приведенном примере:

при значении настройки в 33% узлы будут обновляться по 3 штуки за раз;
при значении настройки в 20% узлы будут обновляться по 2 штуки за раз;
при значении настройки в 10% узлы будут обновляться по 1 штуке за раз.