Если при обновлении до Edge 4.52.00 произошла ошибка, вы можете откатить компонент, который ее вызвал, и повторить попытку.
Вы можете откатить Edge 4.52.00 до следующих версий Feature Release:
- Версия 4.51.00
Откат может потребоваться в двух случаях:
- Откат к предыдущему выпуску нововведений например с 4.52.00 на 4.51.00.
- Откатитесь до предыдущей версии обновления в том же выпуске. Например, с 4.52.00.02 до 4.52.00.01.
Дополнительную информацию можно найти в статье Процесс выпуска Apigee Edge.
Кто может выполнить откат
Откат должен выполнять тот же пользователь, который обновлял Edge, или пользователь с правами root.
По умолчанию компоненты Edge запускаются от имени пользователя apigee. В некоторых случаях компоненты Edge могут запускаться от имени разных пользователей. Например, если маршрутизатору требуется доступ к привилегированным портам (с номерами меньше 1000), то его нужно запускать от имени пользователя root или пользователя, у которого есть доступ к этим портам. или запускать разные компоненты от имени разных пользователей.
Компоненты с общим кодом
Указанные ниже компоненты Edge используют общий код. Поэтому, чтобы выполнить откат любого из этих компонентов на узле, необходимо выполнить откат всех этих компонентов, находящихся на этом узле.
edge-management-server(сервер управления)edge-message-processor(Message Processor)edge-router(маршрутизатор)edge-postgres-server(сервер Postgres)edge-qpid-server(сервер Qpid)
Например, если на узле установлены Management Server, Router и Message Processor, то для отката любого из них необходимо выполнить откат всех трех.
Как выполнить откат к предыдущему выпуску нововведений
Чтобы выполнить откат до предыдущего выпуска функций, выполните следующие действия на каждом узле, на котором размещен компонент:
-
Скачайте файл
bootstrap.shдля версии, к которой хотите вернуться:- Чтобы выполнить откат до версии 4.51.00, скачайте
bootstrap_4.51.00.sh:curl https://software.apigee.com/bootstrap_4.51.00.sh -o /tmp/bootstrap_4.51.00.sh
- Чтобы выполнить откат до версии 4.51.00, скачайте
- Остановите компонент, чтобы выполнить откат:
- Чтобы откатить любой из компонентов с общим кодом на узле, необходимо остановить их все, как показано в следующем примере:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server stop
/opt/apigee/apigee-service/bin/apigee-service edge-router stop/opt/apigee/apigee-service/bin/apigee-service edge-message-processor stop/opt/apigee/apigee-service/bin/apigee-service edge-qpid-server stop/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop - Чтобы выполнить откат другого компонента на узле, остановите только этот компонент:
/opt/apigee/apigee-service/bin/apigee-service component stop
- Чтобы откатить любой из компонентов с общим кодом на узле, необходимо остановить их все, как показано в следующем примере:
- Если вы выполняете откат Монетизации, удалите ее со всех узлов Management Server и Message Processor:
/opt/apigee/apigee-service/bin/apigee-service edge-mint-gateway uninstall
- Удалите компонент, чтобы выполнить откат на узле:
- Чтобы выполнить откат любого из компонентов с общим кодом на узле, необходимо удалить их все, удалив группу компонентов
edge-gateway, как показано в следующем примере:/opt/apigee/apigee-service/bin/apigee-service edge-gateway uninstall
- Чтобы выполнить откат любого другого компонента на узле, удалите только этот компонент, как показано в следующем примере:
/opt/apigee/apigee-service/bin/apigee-service component uninstall
где component – название компонента.
- Чтобы выполнить откат Edge Router, необходимо удалить содержимое файла
/opt/nginx/conf.d, а также удалить группу компонентовedge-gateway.cd /opt/nginx/conf.d
rm -rf *
- Чтобы выполнить откат любого из компонентов с общим кодом на узле, необходимо удалить их все, удалив группу компонентов
- Удалите версию 4.52.00 приложения
apigee-setup:/opt/apigee/apigee-service/bin/apigee-service apigee-setup uninstall
- Установите утилиту
apigee-serviceверсии 4.51.00 и ее зависимости. В примере ниже устанавливается версия 4.51.00apigee-service:sudo bash /tmp/bootstrap_4.51.00.sh apigeeuser=uName apigeepassword=pWord
где uName и pWord – имя пользователя и пароль, полученные от Apigee. Если вы не укажете pWord, вам будет предложено ввести его.
Если вы видите сообщение об ошибке, убедитесь, что на шаге 1 вы скачали файл
bootstrap.sh. - Установите
apigee-setup:/opt/apigee/apigee-service/bin/apigee-service apigee-setup install
- Установите старую версию компонента:
/opt/apigee/apigee-setup/bin/setup.sh -p component -f configFile
где component – устанавливаемый компонент, а configFile – файл конфигурации для более ранней версии.
- Если вы откатываете Qpid, очистите iptables:
sudo iptables -F
- Повторите эту процедуру для каждого узла, на котором размещен компонент, для которого выполняется откат.
Как выполнить откат к предыдущей версии обновления
Чтобы выполнить откат компонента до определенной версии выпуска, выполните следующие действия на каждом узле, на котором размещен компонент:
- Скачайте нужную версию компонента:
/opt/apigee/apigee-service/bin/apigee-service component_version install
где component_version – компонент и версия обновления, которую нужно установить. Пример:
/opt/apigee/apigee-service/bin/apigee-service edge-ui-4.51.05-0.0.3749 install
Если вы используете онлайн-репозиторий Apigee, то можете определить доступные версии компонентов с помощью следующей команды:
yum --showduplicates list comp
Пример:
yum --showduplicates list edge-ui
- Установите компонент с помощью
apigee-setup:/opt/apigee/apigee-setup/bin/setup.sh -p comp -f configFile
Пример:
/opt/apigee/apigee-setup/bin/setup.sh -p ui -f configFile
Обратите внимание, что при установке компонента вы указываете только его название, а не версию.
- Повторите эту процедуру для каждого узла, на котором размещен компонент, для которого выполняется откат.
Откат обновления Postgres 10.17
Если вы обновились до версии 4.52.00 с версии 4.50.00 или 4.51.00, вам необходимо откатить обновление Postgres в дополнение к компонентам Edge.
Чтобы откатить обновление Postgres при обновлении Postgres в конфигурации master-standby:
- Сделайте новый резервный узел основным узлом Postgres. Новый главный сервер Postgres будет иметь ту же версию, что и предыдущая установка Edge.
- Настройте старый резервный узел в качестве резервного узла нового главного узла. Старый резервный узел будет иметь ту же версию, что и предыдущая установка Edge.
- Зарегистрируйте новые основной и резервный узлы в группах аналитики и потребителей.
После завершения отката старый главный узел больше не понадобится. После этого вы можете вывести из эксплуатации старый главный узел.
- Убедитесь, что новый резервный узел Postgres работает:
/opt/apigee/apigee-service/bin/apigee-all status
Если Postgres не запущен, запустите его:
/opt/apigee/apigee-service/bin/apigee-all start
- Убедитесь, что Postgres остановлен на старом главном узле и старом резервном узле:
/opt/apigee/apigee-service/bin/apigee-all status
Если Postgres работает, остановите его:
/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
- Если он установлен, запустите Qpid на старом резервном узле:
/opt/apigee/apigee-service/bin/apigee-service edge-qpid-server start
- Назначьте новый резервный узел в качестве главного узла Postgres:
- Сделайте новый резервный узел новым основным узлом:
apigee-service apigee-postgresql promote-standby-to-master new_standby_IP
При необходимости введите пароль Postgres для пользователя apigee. По умолчанию это postgres.
- В файле конфигурации, который вы использовали для установки текущей версии Edge, укажите следующее:
# IP address of the new master: PG_MASTER=new_standby_IP # IP address of the old standby node PG_STANDBY=old_standby_IP
- Настройте новый главный экземпляр:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFile
- Сделайте новый резервный узел новым основным узлом:
- Если вы уже обновили старый резервный узел до более новой версии, сначала необходимо понизить версию ПО Apigee на старом резервном узле. Если на старом резервном узле по-прежнему установлена старая версия, пропустите этот шаг и перейдите к шагу 6.
- Остановите Postgres на старом резервном узле:
apigee-service apigee-postgresql stop apigee-service edge-postgres-server stop
- Удалите Postgres со старого резервного узла:
apigee-service apigee-postgresql uninstall apigee-service edge-postgres-server uninstall
- Удалите каталог данных Postgres из старого резервного узла:
cd /opt/apigee/data/apigee-postgresql/pgdata > rm -rf *
- Скачайте и запустите начальную загрузку старой версии (для версии Apigee, к которой вы откатываетесь) на старом резервном узле. Точные шаги могут различаться в зависимости от того, используете ли вы интернет- или офлайн-установку. При запуске старой версии начальной загрузки Apigee будут настроены репозитории yum со старой версией данных Apigee.
- Настройте компоненты Postgres на старом резервном узле:
/opt/apigee/apigee-setup/bin/setup.sh -p ps -f configFile
- Убедитесь, что компоненты Postgres на старом резервном узле были возвращены к предыдущей версии:
apigee-service apigee-postgresql version apigee-service edge-postgres-server version
- Остановите Postgres на старом резервном узле:
- Пересоберите старый резервный узел:
- В файле конфигурации, который вы использовали для установки текущей версии Edge, укажите следующее:
# IP address of the new master: PG_MASTER=new_standby_IP # IP address of the old standby node PG_STANDBY=old_standby_IP
- Удалите каталог данных на старом резервном узле:
cd /opt/apigee/data/apigee-postgresql/pgdata > rm -rf *
- Перенастройте старый резервный узел, чтобы он стал резервным узлом нового главного узла:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
- Убедитесь, что Postgres работает на старом резервном узле:
/opt/apigee/apigee-service/bin/apigee-all status
Если Postgres не запущен, запустите его:
/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server start
- В файле конфигурации, который вы использовали для установки текущей версии Edge, укажите следующее:
- Убедитесь, что новый резервный узел был добавлен, проверив файл
/opt/apigee/apigee-postgresql/conf/pg_hba.confна новом главном узле. - Чтобы посмотреть текущую информацию об аналитике и группе потребителей, выполните на сервере управления следующую команду:
curl -u sysAdminEmail:password http://ms_IP:8080/v1/analytics/groups/ax
Эта команда возвращает название группы аналитики в поле
nameи название группы потребителей в полеnameв разделеconsumer-groups. Она также возвращает UUID старых главного и резервного узлов Postgres в поляхpostgres-serverиdatastores. Вы должны увидеть выходные данные в следующем формате:{ "name" : "axgroup-001", "properties" : { }, "scopes" : [ "VALIDATE~test", "sgilson~prod" ], "uuids" : { "qpid-server" : [ "8381a053-433f-4382-bd2a-100fd37a1592", "4b6856ec-ef05-498f-bac6-ef5f0d5f6521" ], "postgres-server" : [ "ab1158bd-1d59-4e2a-9c95-24cc2cfa6edc:27f90844-efab-4b32-8a23-8f85cdc9a256" ] }, "consumer-groups" : [ { "name" : "consumer-group-001", "consumers" : [ "8381a053-433f-4382-bd2a-100fd37a1592", "4b6856ec-ef05-498f-bac6-ef5f0d5f6521" ], "datastores" : [ "ab1158bd-1d59-4e2a-9c95-24cc2cfa6edc:27f90844-efab-4b32-8a23-8f85cdc9a256" ], "properties" : { } } ], "data-processors" : { } } - Получите UUID-адрес старого главного узла, выполнив на нем следующую команду
curl:curl -u sysAdminEmail:password http://node_IP:8084/v1/servers/self
В конце выходных данных вы увидите UUID узла в следующем формате:
"type" : [ "postgres-server" ], "uUID" : "599e8ebf-5d69-4ae4-aa71-154970a8ec75"
- Повторите предыдущий шаг, чтобы получить IP-адреса старого резервного узла и нового главного узла.
- Удалите старые главный и резервный узлы из группы потребителей:
curl -u sysAdminEmail:password -X DELETE \ "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/consumer-groups/consumer-group-001/datastores/masterUUID,standbyUUID" -v
где axgroup-001 и consumer-group-001 – названия групп аналитики и потребителей по умолчанию. masterUUID,standbyUUID в том же порядке, в котором они были представлены выше при просмотре текущей аналитики и информации о группе потребителей. Возможно, вам придется указать их как standbyUUID,masterUUID.
Свойство
datastoresдляconsumer-groupsтеперь должно быть пустым. - Удалите старые основной и резервный узлы из группы аналитики:
curl -u sysAdminEmail:password -X DELETE \ "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=masterUUID,standbyUUID&type=postgres-server" -v
Свойство
postgres-serverв разделеuuidsдолжно быть пустым. - Зарегистрируйте новые основной и резервный узлы PG в группах аналитики и потребителей:
curl -u sysAdminEmail:password -X POST -H "Content-Type: application/json" -d '' "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=masterUUID,standbyUUID&type=postgres-server" -v
curl -u sysAdminEmail:password -X POST -H "Content-Type:application/json" -d '' "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/consumer-groups/consumer-group-001/datastores?uuid=masterUUID,standbyUUID" -v - Проверьте группу аналитики:
curl -u sysAdminEmail:password http://ms_IP:8080/v1/analytics/groups/ax
Вы должны увидеть UUID новых основных и резервных узлов, перечисленных в группе аналитики и группе потребителей.
- Перезапустите Edge Management Server:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
- Перезапустите все серверы Qpid:
/opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
- Перезапустите все серверы Postgres:
/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
- Проверьте статус репликации, выполнив следующие скрипты на обоих серверах. Если репликация прошла успешно, на обоих серверах должны отображаться одинаковые результаты.
На новом главном сервере выполните следующую команду:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master
Убедитесь, что это основная версия. На старом резервном узле:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby
Убедитесь, что это резервный экземпляр.
- Повторите предыдущий шаг после выполнения нескольких запросов к API, чтобы убедиться, что узлы синхронизированы.
- Выведите из эксплуатации старый главный узел Postgres, следуя инструкциям в разделе Вывод из эксплуатации узла Postgres.
Вы также можете удалить Qpid со старого главного узла и установить его на новый. После удаления Qpid вы можете вывести из эксплуатации старый главный узел.
Как выполнить откат mTLS
Чтобы отменить обновление mTLS, выполните следующие действия на всех хостах:
- Остановить Apigee:
apigee-all stop
- Остановить mTLS:
apigee-service apigee-mtls uninstall
- Переустановите mTLS:
apigee-service apigee-mtls install
apigee-service apigee-mtls setup -f /opt/silent.conf