Edge for Private Cloud 4.19.01
Если при обновлении до Edge 4.19.01 произошла ошибка, вы можете откатить компонент, который ее вызвал, и повторить попытку.
Вы можете выполнить откат Edge 4.19.01 до следующих версий Feature Release:
- Версия 4.18.05
- Версия 4.18.01
- Версия 4.17.09*
* Чтобы выполнить откат с версии 4.19.01 до 4.17.09, необходимо откатить Postgres, а также компоненты на каждом узле. Если вы выполняете откат до версии 4.18.01 или 4.18.05, вам не нужно откатывать Postgres, поскольку процесс обновления не включал обновление Postgres.
Откат может потребоваться в двух случаях:
- Откат к предыдущему выпуску нововведений Например, с 4.19.01 на 4.18.05.
- Откатитесь до предыдущей версии обновления в том же выпуске. Например, с 4.19.01.02 до 4.19.01.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, то для отката любого из них необходимо выполнить откат всех трех.
Как выполнить откат к предыдущему выпуску нововведений
Чтобы выполнить откат с версии 4.19.01 до 4.17.09, необходимо откатить Postgres, а также откатить компоненты на каждом узле. Если вы выполняете откат с версии 4.18.01 или 4.18.05, вам не нужно откатывать Postgres, так как процесс обновления не включал обновление Postgres.
Чтобы выполнить откат до предыдущего выпуска функций, выполните следующие действия на каждом узле, на котором размещен компонент:
-
Скачайте файл
bootstrap.shдля версии, к которой хотите вернуться:- Чтобы выполнить откат до версии 4.18.05, скачайте
bootstrap_4.18.05.sh:curl https://software.apigee.com/bootstrap_4.18.05.sh -o /tmp/bootstrap_4.18.05.sh
- Чтобы выполнить откат до версии 4.18.01, скачайте
bootstrap_4.18.01.sh:curl https://software.apigee.com/bootstrap_4.18.01.sh -o /tmp/bootstrap_4.18.01.sh
- Чтобы выполнить откат до версии 4.17.09, скачайте
bootstrap_4.17.09.sh:curl https://software.apigee.com/bootstrap_4.17.09.sh -o /tmp/bootstrap_4.17.09.sh
- Чтобы выполнить откат до версии 4.18.05, скачайте
- Остановите компонент, чтобы выполнить откат:
- Чтобы откатить любой из компонентов с общим кодом на узле, необходимо остановить их все, как показано в следующем примере:
/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.19.01 приложения
apigee-setup:/opt/apigee/apigee-service/bin/apigee-service apigee-setup uninstall
- Установите утилиту
apigee-serviceверсии 4.18.05, 4.18.01 или 4.17.09 и ее зависимости. В примере ниже показано, как установить версию 4.17.09apigee-service:sudo bash /tmp/bootstrap_4.17.09.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
- Повторите эту процедуру для каждого узла, на котором размещен компонент, для которого выполняется откат.
Чтобы выполнить откат с версии 4.19.01 до 4.17.09, необходимо откатить Postgres, а также откатить компоненты на каждом узле. Если вы выполняете откат с версии 4.18.01 или 4.18.05, вам не нужно откатывать Postgres, так как процесс обновления не включал обновление Postgres.
Как выполнить откат к предыдущей версии обновления
Чтобы выполнить откат компонента до определенной версии выпуска, выполните следующие действия на каждом узле, на котором размещен компонент:
- Скачайте нужную версию компонента:
/opt/apigee/apigee-service/bin/apigee-service component_version install
где component_version – компонент и версия обновления, которую нужно установить. Пример:
/opt/apigee/apigee-service/bin/apigee-service edge-ui-4.17.09-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
Обратите внимание, что при установке компонента вы указываете только его название, а не версию.
- Повторите эту процедуру для каждого узла, на котором размещен компонент, для которого выполняется откат.
Чтобы выполнить откат с версии 4.19.01 до 4.17.09, необходимо откатить Postgres, а также компоненты на каждом узле. Если вы выполняете откат с версии 4.18.01 или 4.18.05, вам не нужно откатывать Postgres, так как процесс обновления не включал обновление Postgres.
Откат обновления Postgres 9.6
Если вы перешли на версию 4.19.01 с версии 4.17.09, вам необходимо откатить обновление 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
- Сделайте новый резервный узел новым основным узлом:
- Пересоберите старый резервный узел:
- В файле конфигурации, который вы использовали для установки текущей версии 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
Если он не запущен, запустите его:
/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, следуя инструкциям в статье Как обновить Apigee Edge 4.16.01/4.16.05 до версии 4.17.09.
Вы также можете удалить Qpid со старого главного узла и установить его на новый. После удаления Qpid вы можете вывести из эксплуатации старый главный узел.
Удалите Qpid со старого главного сервера и установите его на новый.
Чтобы удалить Qpid со старого главного сервера и установить его на новый главный сервер, выполните следующие действия:
- Заблокируйте доступ к порту 5672 Qpid на старом главном сервере для Message Processor, выполнив следующую команду на всех Message Processor:
iptables -A OUTPUT -p tcp -d 10.233.147.20 --dport 5672 -j DROP
- Убедитесь, что очередь сообщений Qpid пуста, выполнив следующую команду: Вы не сможете удалить Qpid, пока не будут обработаны все ожидающие сообщения.
qpid-stat -q
Эта команда показывает таблицу с количеством
msg, msgIn, and msgOut. Все сообщения будут обработаны, когдаmsg=0иmsgIn=msgOut. - Определите UUID сервера Qpid на старом главном сервере, выполнив на нем следующую команду: Сохраните эту информацию, чтобы использовать ее позже:
curl -u sysAdminEmail:password http://node_IP::8083/v1/servers/self
- Остановите Qpid на старом главном сервере:
/opt/apigee/apigee-service/bin/apigee-service edge-qpid-server stop
/opt/apigee/apigee-service/bin/apigee-service apigee-qpidd stop - Удалите сервер Qpid:
/opt/apigee/apigee-service/bin/apigee-service edge-qpid-server uninstall
/opt/apigee/apigee-service/bin/apigee-service apigee-qpidd uninstall - Удалите старый сервер Qpid из групп аналитики и потребителей:
curl -u sysAdminEmail:password -X DELETE -H "Content-Type: application/json" -d '' \ "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/consumer-groups/consumer-group-001/consumers/qpid_UUID" -v
curl -u sysAdminEmail:password -X DELETE \ "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=qpid_UUID&type=qpid-server" -v - Удалите старый сервер Qpid из Zookeeper:
curl -u sysAdminEmail:password -X DELETE \ http://ms_IP:8080/v1/servers/qpid_UUID
- Установите Qpid на новый главный сервер:
/opt/apigee/apigee-setup/bin/setup.sh -p qs -f configFile
- Определите UUID сервера Qpid на новом главном сервере, выполнив на нем следующую команду: Сохраните эту информацию, чтобы использовать ее позже:
curl -u sysAdminEmail:password http://node_IP::8083/v1/servers/self
- Зарегистрируйте новый сервер Qpid в группах аналитики и потребителей:
curl -u sysAdminEmail:password -X POST -H "Content-Type: application/json" -d '' \ "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=qpid_UUID&type=qpid-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/consumers?uuid=qpid_UUID" -v - Перезапустите все процессоры сообщений:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- Чтобы проверить, созданы ли очереди, выполните на новом сервере Qpid следующую команду:
qpid-stat -q
Убедитесь, что значения
msg,msgInиmsgOutобновляются по мере того, как сервер Qpid обрабатывает сообщения.
Если у вас возникнут проблемы с откатом, обратитесь в службу поддержки Apigee Edge.