Product SiteDocumentation Site

17.2. Обновление узла

Для обновления узла используется команда talosctl upgrade.

Таблица 17.1. Параметры команды talosctl upgrade

Параметр
Описание
-n, --nodes
IP-адреса или имена узлов, которые необходимо обновить
--image, -i
Образ установщика ALT Orchestra, используемый для обновления (по умолчанию: altlinux.space/alt-orchestra/installer:<LAST_VERSION>)
--stage, -s
Отложить применение обновления до следующей перезагрузки (артефакты сохраняются на диск, обновление выполняется на раннем этапе загрузки)
--force, -f
Принудительно выполнить обновление, пропустив проверки состояния etcd (может привести к потере данных)
--reboot-mode, -m
Режим перезагрузки:
  • default — использовать kexec (быстрая перезагрузка);
  • powercycle — полный цикл питания (обход kexec)
--insecure
Выполнить обновление через незащищённый режим обслуживания (без аутентификации, только шифрование). Требуется при работе в режиме maintenance
--endpoints, -e
Переопределить адреса endpoints из конфигурации ALT Orchestra
--talosconfig
Путь к файлу конфигурации ALT Orchestra (по умолчанию $HOME/.talos/config)
--context
Контекст подключения (например, при использовании прокси или SideroV1)
--debug
Включить отладочный вывод (в том числе из журналов ядра). Автоматически включает --wait
--wait
Ожидать завершения операции и отслеживать её прогресс (по умолчанию true)
--timeout
Максимальное время ожидания завершения операции (по умолчанию 30m)
Чтобы обновить узел ALT Orchestra, необходимо указать IP-адрес узла и образ контейнера установщика той версии ALT Orchestra, до которой требуется обновление:
$ talosctl -n <IP-адрес-узла> upgrade --image <новый-образ>
Данную команду можно использовать для обновления до новой версии ALT Orchestra, указав соответствующий образ установщика:
$ talosctl upgrade -n <IP-адрес-узла> \
  --image factory.altlinux.space/alt-orchestra-metal-installer/<идентификатор>:<новая версия>
Пример:
$ talosctl upgrade -n 192.168.0.140 \
  --image factory.altlinux.space/alt-orchestra-metal-installer/376567988ad370138ad8b2698212367b8edcb69b5fd68c80be1f2ec7d603b4ba:v11.0
Обновление узла
Аналогичным образом можно использовать процесс обновления для перехода на новый набор системных расширений: сгенерировать новую схему с требуемым набором расширений системы и обновить узел до нового идентификатора схемы:
$ talosctl upgrade -n <IP-адрес-узла> \
  --image factory.altlinux.space/alt-orchestra-metal-installer/<новый идентификатор>:v11.0
Пример:
$ talosctl -n 192.168.0.146 get extensions
NODE           NAMESPACE  TYPE             ID   VERSION   NAME        VERSION
192.168.0.147  runtime    ExtensionStatus  0    1         schematic   376567988ad370138ad8b2698212367b8edcb69b5fd68c80be1f2ec7d603b4ba


$ talosctl upgrade -n 192.168.0.146 \
  --image factory.altlinux.space/alt-orchestra-metal-installer/ea2358d7be66761ea85e66f01f11936df9c93b7647ddc9cd89c0e5e5131c4080:v11.0

$ talosctl -n 192.168.0.146 get extensions
NODE           NAMESPACE   TYPE              ID   VERSION   NAME               VERSION
192.168.0.146  runtime     ExtensionStatus   0    1         qemu-guest-agent   9.1.2
192.168.0.146  runtime     ExtensionStatus   1    1         util-linux-tools   2.39.2
192.168.0.146  runtime     ExtensionStatus   2    1         schematic          ea2358d7be66761ea85e66f01f11936df9c93b7647ddc9cd89c0e5e5131c4080
Проверка версии после обновления:
$ talosctl -n <IP-адрес-узла> version
Также необходимо убедиться, что kubelet, контейнеры и сетевые службы работают корректно:
$ talosctl -n <IP-адрес-узла> health
Иногда команда обновления может завершиться неудачей из-за того, что какой-либо процесс удерживает файл на диске. В таких случаях используйте флаг --stage.
Этот флаг размещает артефакты обновления на диске и записывает метаданные в специальный раздел, который проверяется на самых ранних этапах загрузки. После этого узел перезагружается. При следующей загрузке ALT Orchestra обнаруживает необходимость применения обновления и выполняет его автоматически.
Поскольку система только что перезагрузилась, конфликты с открытыми файлами отсутствуют. После завершения обновления узел перезагружается повторно, чтобы загрузиться с новой версией.

Примечание

Поскольку ALT Orchestra использует системный вызов kexec для перезагрузки, дополнительная перезагрузка занимает минимальное время.