Согласование ключей служб и повторное развертывание#
Platform Gateway подписывает запросы к Automation Controller, Private Automation Hub и контроллеру Event-Driven Automation ключами служб (service keys).
Шлюз хранит активные ключи в своей базе данных, а компоненты – в секретах Podman controller_resource_server, hub_resource_server и eda_resource_server.
После восстановления базы шлюза в ней находятся ключи исходной платформы, а в секретах компонентов – ключи, созданные при первом развертывании.
Пока ключи не совпадают, шлюз не может обращаться к компонентам.
Выполняйте команды на узле целевой платформы после восстановления баз данных.
Замена ключей служб#
Для замены ключей служб выполните следующие действия:
Прочитайте активные ключи служб из восстановленной базы шлюза и сохраните их в каталоге, ограничив доступ к ним:
umask 077 mkdir -p ~/migration-keys for cluster in controller hub eda; do podman exec postgresql psql -U postgres -d automationgateway -Atc " SELECT sk.secret FROM aap_gateway_api_servicekey sk JOIN aap_gateway_api_servicecluster sc ON sc.id = sk.service_cluster_id WHERE sk.is_active AND sc.name = '$cluster' LIMIT 1" | tr -d '\r\n' > ~/migration-keys/$cluster test -s ~/migration-keys/$cluster || echo "$cluster: key not found" done
Команда не выводит ничего, если нашла ключи всех трех служб.
Замените секреты с ключами. Команды удаляют контейнеры, которые используют эти секреты, так как Podman не позволяет удалить используемый секрет. Утилита развертывания создаст эти контейнеры заново на следующем шаге.
podman ps -a --format '{{.Names}}' | grep -E '^automation-(controller|hub|eda)-' | xargs -r podman rm -f for cluster in controller hub eda; do podman secret rm ${cluster}_resource_server podman secret create ${cluster}_resource_server ~/migration-keys/$cluster done
Удалите сохраненные ключи:
rm -rf ~/migration-keys
Повторное развертывание#
В каталоге /opt/rbta/aa/astra-automation-setup/ повторно запустите развертывание с тем же описанием инвентаря:
sudo ./aa-setup --containerized \
--inventory=</path/to/inventory> \
-- --extra-vars @$HOME/migration-export/migration-preseed-secrets.yml
Утилита развертывания создает заново удаленные контейнеры, выполняет миграции схем баз данных и регистрирует в шлюзе службы целевого узла.
Развертывание считается успешным, если для всех узлов в поле failed указано значение 0.