Обновление операторов#
Манифесты в каталоге operators/ установочного пакета содержат определения собственных ресурсов (CRD) и объекты Deployment операторов.
Применение манифестов новой версии поверх работающих операторов обновляет CRD, переводит операторы на новые образы и добавляет новый оператор dashboard-operator.
См. также краткое описание терминов.
Важно
Эта стадия – точка невозврата. Сразу после обновления операторов запускаются миграции схемы баз данных, необратимые без восстановления из резервной копии. До этой стадии для отката достаточно вернуть манифесты исходной версии; после нее откат требует восстановления баз данных. Перед продолжением убедитесь, что резервная копия создана, как описано в инструкции по резервному копированию.
Для обновления операторов выполните следующие действия:
Примените манифесты операторов:
kubectl apply -f ~/aa-bundle/operators/
Дождитесь завершения обновления всех пяти операторов:
kubectl rollout status deploy/aa-operator-aa-manager -n astra-automation kubectl rollout status deploy/ac-operator-ac-manager -n astra-automation kubectl rollout status deploy/pah-operator-pah-manager -n astra-automation kubectl rollout status deploy/eda-operator-eda-manager -n astra-automation kubectl rollout status deploy/dashboard-operator-dashboard-manager -n astra-automation
Примечание
Если первичная установка выполнялась командой kubectl create, при применении манифестов на каждом ресурсе появится предупреждение missing the kubectl.kubernetes.io/last-applied-configuration annotation.
Предупреждение безвредно: kubectl добавит аннотацию автоматически.
Примечание
Если при развертывании платформы операторы были масштабированы до нескольких реплик, повторите масштабирование после применения манифестов – команда kubectl apply вернет значение replicas: 1 из манифеста:
kubectl scale deployment aa-operator-aa-manager ac-operator-ac-manager \
eda-operator-eda-manager pah-operator-pah-manager dashboard-operator-dashboard-manager \
--namespace astra-automation --replicas=3
Предупреждение
Сразу после обновления операторов начинается процесс Reconciliation: операторы переводят поды компонентов на образы новой версии, не дожидаясь обновления манифеста приложения.
Операторы Private Automation Hub и Event-Driven Automation делают это безусловно, а для Automation Controller поведение управляется полем auto_upgrade ресурса AutomationController со значением true по умолчанию.
Текущее значение поля выводит команда kubectl get acs -n astra-automation -o jsonpath='{.items[*].spec.auto_upgrade}'; пустой вывод соответствует значению по умолчанию.
Поэтому стадия размещения образов должна быть завершена до этой стадии, иначе поды перейдут в состояние ImagePullBackOff.