Обновление операторов

Обновление операторов#

Манифесты в каталоге operators/ установочного пакета содержат определения собственных ресурсов (CRD) и объекты Deployment операторов. Применение манифестов новой версии поверх работающих операторов обновляет CRD, переводит операторы на новые образы и добавляет новый оператор dashboard-operator. См. также краткое описание терминов.

Важно

Эта стадия – точка невозврата. Сразу после обновления операторов запускаются миграции схемы баз данных, необратимые без восстановления из резервной копии. До этой стадии для отката достаточно вернуть манифесты исходной версии; после нее откат требует восстановления баз данных. Перед продолжением убедитесь, что резервная копия создана, как описано в инструкции по резервному копированию.

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

  1. Примените манифесты операторов:

    kubectl apply -f ~/aa-bundle/operators/
    
  2. Дождитесь завершения обновления всех пяти операторов:

    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.