VK Cloud logo
Обновлена19 марта 2024 г. в 14:14

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

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

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

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

  • Gatekeeper.

  • Shell Operator.

  • Kubernetes Dashboard.

  • CoreDNS.

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

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

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

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

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

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

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

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

    Пусть:

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

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

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

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

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

      9 x 33% = 2,97

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

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

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

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

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