Откатить Apigee Edge 4.52.01

Если вы столкнулись с ошибкой во время обновления Edge 4.52.01, вы можете откатить компонент, вызвавший ошибку, а затем повторить попытку обновления.

Вы можете откатить Edge 4.52.01 до следующих основных версий:

  • Версия 4.52.00
  • Версия 4.51.00

Существует два сценария, в которых может потребоваться выполнить откат:

  1. Откат к предыдущей основной или второстепенной версии . Например с 4.52.01 по 4.52.00.
  2. Откатитесь к предыдущему выпуску исправлений в том же выпуске . Например, с 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-сервер)

Например, если на узле установлены сервер управления, маршрутизатор и процессор сообщений, для отката любого из них необходимо выполнить откат всех трех.

Откат к предыдущей основной или второстепенной версии

Чтобы вернуться к предыдущей основной или дополнительной версии, выполните следующие действия на каждом узле, на котором размещен компонент:

  1. Загрузите файл 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 
  2. Остановите компонент для отката:
    1. Чтобы откатить любой из компонентов с общим кодом на узле, необходимо остановить их все, как показано в следующем примере:
      /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
    2. Чтобы откатить любой другой компонент на узле, остановите только этот компонент:
      • /opt/apigee/apigee-service/bin/apigee-service component stop
  3. Если вы выполняете откат монетизации, удалите ее со всех узлов сервера управления и процессора сообщений:
    /opt/apigee/apigee-service/bin/apigee-service edge-mint-gateway uninstall
  4. Удалите компонент для отката на узле:
    1. Чтобы выполнить откат любого из компонентов с общим кодом на узле, необходимо удалить их все, удалив группу компонентов edge-gateway , как показано в следующем примере:
      /opt/apigee/apigee-service/bin/apigee-service edge-gateway uninstall
    2. Чтобы выполнить откат любого другого компонента на узле, удалите только этот компонент, как показано в следующем примере:
      /opt/apigee/apigee-service/bin/apigee-service component uninstall

      Где component — это имя компонента.

    3. Чтобы откатить Edge Router, помимо удаления группы компонентов edge-gateway необходимо удалить содержимое файла /opt/nginx/conf.d :
      cd /opt/nginx/conf.d
      rm -rf *
  5. Удалите версию apigee-setup 4.52.01:
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup uninstall
  6. Установите версию 4.51.00 утилиты apigee-service и ее зависимости. В следующем примере устанавливается версия 4.51.00 apigee-service :
    sudo bash /tmp/bootstrap_4.51.00.sh apigeeuser=uName apigeepassword=pWord

    Где uName и pWord — это имя пользователя и пароль, которые вы получили от Apigee. Если вы опустите pWord , вам будет предложено ввести его.

    Если вы получили сообщение об ошибке, убедитесь, что вы загрузили файл bootstrap.sh на шаге 1.

  7. Установите apigee-setup :
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup install
  8. Установите старую версию компонента:
    /opt/apigee/apigee-setup/bin/setup.sh -p component -f configFile

    Где component — это компонент для установки, а configFile — ваш файл конфигурации для более старой версии.

  9. Если вы откатываете Qpid, очистите iptables:
    sudo iptables -F
  10. Повторите этот процесс для каждого узла, на котором размещен компонент, откат которого выполняется.

Откат к предыдущему выпуску патча

Чтобы выполнить откат компонента до определенного выпуска исправления, выполните следующие действия на каждом узле, на котором размещен компонент:

  1. Загрузите конкретную версию компонента:
    /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
  2. Используйте apigee-setup для установки компонента:
    /opt/apigee/apigee-setup/bin/setup.sh -p comp -f configFile

    Например:

    /opt/apigee/apigee-setup/bin/setup.sh -p ui -f configFile

    Обратите внимание: при установке вы указываете только имя компонента, а не версию.

  3. Повторите этот процесс для каждого узла, на котором размещен компонент, откат которого выполняется.

Откат обновления Postgres 10.17

Если вы обновились до 4.52.01 с версии 4.50.00 или 4.51.00, вам необходимо выполнить откат обновления Postgres в дополнение к компонентам Edge.

Чтобы откатить обновление Postgres при обновлении Postgres в конфигурации «главный-резервный»:

  • Сделайте новый резервный узел мастером Postgres. Новый мастер Postgres будет той же версии, что и ваша предыдущая установка Edge.
  • Настройте старый резервный узел как резервный узел нового ведущего узла. Старый резервный узел будет той же версии, что и ваша предыдущая установка Edge.
  • Зарегистрируйте новые главный и резервный узлы в группах аналитики и потребителей.

Когда вы закончите откат, старый главный узел больше не понадобится. Затем вы можете вывести из эксплуатации старый главный узел.

  1. Убедитесь, что новый резервный узел Postgres запущен:
    /opt/apigee/apigee-service/bin/apigee-all status

    Если Postgres не запущен, запустите его:

    /opt/apigee/apigee-service/bin/apigee-all start
  2. Убедитесь, что 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
  3. Если установлен, запустите Qpid на старом резервном узле:
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server start
  4. Продвигайте новый резервный узел в качестве главного узла Postgres:
    1. Сделайте новый резервный узел новым главным :
      apigee-service apigee-postgresql promote-standby-to-master new_standby_IP

      При появлении запроса введите пароль Postgres для пользователя «apigee», который по умолчанию — «postgres».

    2. Отредактируйте файл конфигурации, который вы использовали для установки текущей версии Edge, указав следующее:
      # IP address of the new master:
      PG_MASTER=new_standby_IP
      # IP address of the old standby node
      PG_STANDBY=old_standby_IP
    3. Настройте новый мастер :
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFile
  5. Если вы уже обновили старый резервный узел до более новой версии, вам необходимо сначала понизить версию программного обеспечения Apigee на старом резервном узле. Если на старом резервном узле все еще установлена ​​более старая версия, вы можете пропустить этот шаг и перейти к шагу 6.
    1. Остановите Postgres на старом резервном узле:
      apigee-service apigee-postgresql stop
      apigee-service edge-postgres-server stop
    2. Удалите Postgres со старого резервного узла:
      apigee-service apigee-postgresql uninstall
      apigee-service edge-postgres-server uninstall
    3. Удалите каталог данных Postgres со старого резервного узла:
      cd /opt/apigee/data/apigee-postgresql/pgdata > rm -rf *
    4. Загрузите и запустите загрузочную версию старой версии (для версии Apigee, к которой вы выполняете откат) на старом резервном узле. Точные действия могут различаться в зависимости от того, используете ли вы установку через Интернет или в автономном режиме. Запуск начальной загрузки Apigee более старой версии приведет к настройке репозиториев yum с данными Apigee более старой версии.
    5. Настройте компоненты Postgres на старом резервном узле:
      /opt/apigee/apigee-setup/bin/setup.sh -p ps -f configFile
    6. Проверьте и убедитесь, что компоненты Postgres на старом резервном узле откатились до более старой версии:
      apigee-service apigee-postgresql version
      apigee-service edge-postgres-server version
  6. Восстановите старый резервный узел:
    1. Отредактируйте файл конфигурации, который вы использовали для установки текущей версии Edge, указав следующее:
      # IP address of the new master:
      PG_MASTER=new_standby_IP
      # IP address of the old standby node
      PG_STANDBY=old_standby_IP
    2. Удалите каталог данных на старом резервном узле:
      cd /opt/apigee/data/apigee-postgresql/pgdata > rm -rf *
    3. Переконфигурируйте старый резервный узел как резервный узел нового ведущего узла:
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
    4. Убедитесь, что Postgres работает на старом резервном узле:
      /opt/apigee/apigee-service/bin/apigee-all status

      Если Postgres не запущен, запустите его:

      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server start
  7. Убедитесь, что новый резервный узел добавлен, просмотрев файл /opt/apigee/apigee-postgresql/conf/pg_hba.conf на новом главном узле.
  8. Просмотрите текущую аналитику и информацию о группах потребителей, выполнив следующую команду на сервере управления:
    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" : {
      }
    }
  9. Получите адрес UUID старого главного узла, выполнив следующую команду curl на старом главном узле:
    curl -u sysAdminEmail:password http://node_IP:8084/v1/servers/self

    В конце вывода вы должны увидеть UUID узла в форме:

    "type" : [ "postgres-server" ],
    "uUID" : "599e8ebf-5d69-4ae4-aa71-154970a8ec75"
  10. Повторите предыдущий шаг, чтобы получить IP-адреса старого резервного узла и нового главного узла.
  11. Удалите старые главные и резервные узлы из группы потребителей:
    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 теперь должно быть пустым.

  12. Удалите старые главный и резервный узлы из группы аналитики:
    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 теперь должно быть пустым.

  13. Зарегистрируйте новые главные и резервные узлы 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
  14. Подтвердите группу аналитики:
    curl -u sysAdminEmail:password http://ms_IP:8080/v1/analytics/groups/ax

    Вы должны увидеть UUID новых главных и резервных узлов, перечисленных в группе аналитики и группе потребителей.

  15. Перезапустите пограничный сервер управления:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
  16. Перезапустите все серверы Qpid:
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
  17. Перезапустите все серверы Postgres:
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
  18. Проверьте состояние репликации, выполнив следующие сценарии на обоих серверах. Система должна отображать одинаковые результаты на обоих серверах, чтобы гарантировать успешную репликацию:

    На новом мастере запустите:

    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master

    Убедитесь, что это мастер. На старом резервном узле:

    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby

    Убедитесь, что он находится в режиме ожидания.

  19. Повторите предыдущий шаг после нескольких запросов API, чтобы убедиться, что узлы синхронизированы.
  20. Выведите из эксплуатации старый мастер Postgres, используя процедуру, описанную в разделе Вывод из эксплуатации узла Postgres .

    Альтернативно вы можете удалить Qpid со старого главного узла и установить Qpid на новом главном узле . После удаления Qpid вы можете вывести из эксплуатации старый главный узел.

Откатить mTLS

Чтобы откатить обновление mTLS, выполните следующие действия на всех хостах:

  1. Остановите Апиги:
    apigee-all stop
  2. Остановить mTLS:
    apigee-service apigee-mtls uninstall
  3. Переустановите mTLS:
    apigee-service apigee-mtls install
    apigee-service apigee-mtls setup -f /opt/silent.conf