Если вы столкнулись с ошибкой во время обновления Edge 4.52.00, вы можете откатить компонент, вызвавший ошибку, а затем повторить попытку обновления.
Вы можете выполнить откат Edge 4.52.00 до следующих версий выпуска функций:
- Версия 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
(Процессор сообщений) -
edge-router
(Маршрутизатор) -
edge-postgres-server
(сервер Postgres) -
edge-qpid-server
(Qpid-сервер)
Например, если на узле установлены сервер управления, маршрутизатор и процессор сообщений, для отката любого из них необходимо выполнить откат всех трех.
Откат к предыдущей версии функции
Чтобы вернуться к предыдущему выпуску функции, выполните следующие действия на каждом узле, на котором размещен компонент:
Загрузите файл
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
- Чтобы откатить любой из компонентов с общим кодом на узле, необходимо остановить их все, как показано в следующем примере:
- Если вы выполняете откат монетизации, удалите ее со всех узлов сервера управления и процессора сообщений:
/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, помимо удаления группы компонентов
edge-gateway
необходимо удалить содержимое файла/opt/nginx/conf.d
:cd /opt/nginx/conf.d
rm -rf *
- Чтобы выполнить откат любого из компонентов с общим кодом на узле, необходимо удалить их все, удалив группу компонентов
- Удалите версию
apigee-setup
4.52.00:/opt/apigee/apigee-service/bin/apigee-service apigee-setup uninstall
- Установите версию 4.51.00 утилиты
apigee-service
и ее зависимости. В следующем примере устанавливается версия 4.51.00apigee-service
:sudo bash /tmp/bootstrap_4.51.00.sh apigeeuser=uName apigeepassword=pWord
Где uName и pWord — это имя пользователя и пароль, которые вы получили от Apigee. Если вы опустите pWord , вам будет предложено ввести его.
Если вы получили сообщение об ошибке, убедитесь, что вы загрузили файл
bootstrap.sh
на шаге 1. - Установите
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 в конфигурации «главный-резервный»:
- Сделайте новый резервный узел мастером 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 новых главных и резервных узлов, перечисленных в группе аналитики и группе потребителей.
- Перезапустите пограничный сервер управления:
/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 на новом главном узле . После удаления Qpid вы можете вывести из эксплуатации старый главный узел.
Откатить mTLS
Чтобы откатить обновление mTLS, выполните следующие действия на всех хостах:
- Остановите Апиги:
apigee-all stop
- Остановить mTLS:
apigee-service apigee-mtls uninstall
- Переустановите mTLS:
apigee-service apigee-mtls install
apigee-service apigee-mtls setup -f /opt/silent.conf