Обновление компонентов кластера Kubernetes без параметра -e 'manual_restore_only=true'

Чтобы выполнить обновление компонентов кластера Kubernetes без параметра -e 'manual_restore_only=true':

  1. Выполните подготовку к обновлению:
    1. Убедитесь, что выполнено обновление KUMA с версии 4.0.х до 4.2.х с помощью установщика install.sh и файла инвентаря k0s.inventory.yaml.
    2. Подготовьте выделенную машину ansible-controller, с которой вы будете запускать скрипт обновления, и убедитесь, что машина не является участником кластера. Скрипт обновления предусматривает перезагрузку всех хостов кластера. Если ansible-controller будет машиной внутри кластера, во время штатной перезагрузки хостов кластера выполнение скрипта будет прервано и процесс установки новых версий компонентов Kubernetes аварийно завершится.
    3. Убедитесь, что на выделенной машине ansible-controller и на master-controller достаточно свободного дискового пространства для размещения резервной копии.
    4. Создайте резервную копию Ядра KUMA вручную на случай непредвиденных сбоев.

      Данные метрик в резервную копию не входят и в кластер Kubernetes не переносятся. При обновлении компонентов кластера Kubernetes данные метрик будут утрачены.

      Если вам критически важны данные метрик, обратитесь к специалистам Службы технической поддержки перед обновлением компонентов кластера Kubernetes.

    5. Укажите значение параметра backup_timeout в файле инвентаря k0s.inventory.yaml в секции vars.
  2. Выполните обновление:
    1. На выделенной машине ansible-controller перейдите в директорию установщика 4.2 и запустите скрипт cluster_upgrade.sh, передав в качестве параметра имя актуального файла инвентаря k0s.inventory.yaml:

      ./cluster_upgrade.sh k0s.inventory.yaml

    2. В консоли командной строки подтвердите наличие резервной копии Ядра KUMA и согласие с выполнением обновления, указав yes.

      В процессе обновления будет автоматически создана резервная копия Ядра KUMA autobackup.tar.gz. Скрипт создает резервную копию Ядра KUMA на машине master-controller в директории /root/k0s/, а затем переносит на выделенную машину ansible-controller, с которой выполняется обновление компонентов Kubernetes, в директорию со скриптом. В процессе автоматического восстановления данных Ядра KUMA в новом кластере Kubernetes также используется директория установщика и директория /root/k0s/ на машине master-controller.

      Из резервной копии в дальнейшем будет автоматически выполнено восстановление Ядра KUMA в новом кластере Kubernetes. Если в процессе обновления произойдет сбой, вы сможете поместить созданную вручную резервную копию в файл autobackup.tar.gz, расположенный на машине ansible-controller в директории со скриптом, и перезапустить скрипт cluster_upgrade.sh.

      Перезапись созданной резервной копии автоматически не выполняется.

Обновление компонентов кластера Kubernetes выполнено.

Восстановление при сбое

Доступны следующие сценарии восстановления в случае сбоя:

В начало