Обновление компонентов кластера Kubernetes выполняется только в случае обновления KUMA до версии 4.2.x. При установке KUMA 4.2.x с нуля обновление компонентов кластера Kubernetes не требуется.
Перед выполнением обновления компонентов кластера Kubernetes вам нужно создать резервную копию Ядра KUMA 4.2 вручную на случай непредвиденных сбоев обновления. Если у вас отсутствует резервная копия Ядра KUMA 4.2, созданная вручную, в случае сбоя все данные могут быть утрачены.
Обновление компонентов кластера Kubernetes выполняется с выделенной машины ansible-controller, не являющейся участником кластера Kubernetes, поскольку скрипт обновления предусматривает перезагрузку всех хостов кластера. Если ansible-controller будет машиной внутри кластера, во время штатной перезагрузки хостов кластера выполнение скрипта прервется и работоспособность кластера будет утрачена.
Обновление компонентов кластера Kubernetes выполняется с помощью скрипта cluster_upgrade.sh и файла инвентаря k0s.inventory.yaml, только на хостах из секции k0s файла инвентаря k0s.inventory.yaml. Внешние сервисы KUMA не затрагиваются.
Логика работы скрипта cluster_upgrade.sh
По умолчанию скрипт обновления предусматривает автоматическое создание резервной копии.
Если создание резервной копии Ядра KUMA вручную на случай непредвиденных сбоев обновления заняло значительное время и вы не хотите ждать аналогичное время при автоматическом создании резервной копии, вы можете поместить резервную копию, созданную вручную, на выделенной машине ansible-controller в файл autobackup.tar.gz и запустить скрипт с параметром -e 'manual_restore_only=true'. Применение параметра -e 'manual_restore_only=true' при запуске скрипта позволяет пропустить этап автоматического создания резервной копии и автоматического восстановления данных из резервной копии и таким образом сократить время обновления. В этом случае вам необходимо будет восстановить Ядро KUMA из резервной копии вручную.
Доступны следующие способы обновления компонентов кластера Kubernetes: