Откатить Apigee Edge 4.52.02

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

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

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

Откат версии включает в себя откат каждого компонента, который вы могли обновить. Кроме того, в зависимости от версии, с которой вы начали, вам может потребоваться принять во внимание особые соображения перед откатом определенных компонентов программного обеспечения. В таблице ниже перечислены различные программы, для которых во время отката могут потребоваться специальные действия:

Откат к версии Особое внимание к программному обеспечению
4.52.01 Кассандра
4.52.00 Кассандра, смотритель зоопарка, Qpid
4.51.00 Кассандра, Zookeeper, Qpid, Postgres

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

  1. Откат к предыдущей основной или второстепенной версии . Например с 4.52.02 по 4.52.00.
  2. Откатитесь к предыдущему выпуску исправлений в том же выпуске . Например, с 4.52.00.02 по 4.52.00.01.

Дополнительные сведения см. в разделе Процесс выпуска Apigee Edge .

Порядок отката

Откат компонентов следует выполнять в порядке, обратном их обновлению, за исключением того, что серверы управления следует откатывать после Cassandra.

Типичный общий порядок отката для Private Cloud 4.52.02 будет выглядеть следующим образом:

  1. Откат Postgres, Qpid и других компонентов, связанных с аналитикой.
  2. Маршрутизаторы отката и процессоры сообщений
  3. Откат Кассандра, смотритель зоопарка
  4. Сервер управления откатом

Например, предположим, что вы обновили весь кластер Cassandra, все ваши серверы управления и несколько RMP до версии 4.52.02 с версии 4.52.01 и хотите выполнить откат. В этом случае вы бы:

  1. Откатить все RMP один за другим
  2. Откат всего кластера Cassandra с использованием резервных копий
  3. Откат узлов сервера Edge Management по одному

Кто может выполнить откат

Пользователь, выполняющий откат, должен быть тем же пользователем, который первоначально обновил Edge, или пользователем, работающим под учетной записью root.

По умолчанию компоненты Edge запускаются от имени пользователя «apigee». В некоторых случаях вы можете запускать компоненты Edge от имени разных пользователей. Например, если маршрутизатору необходим доступ к привилегированным портам, например портам ниже 1000, вам необходимо запустить маршрутизатор от имени пользователя root или пользователя, имеющего доступ к этим портам. Или вы можете запустить один компонент от имени одного пользователя, а другой компонент от имени другого пользователя.

Компоненты с общим кодом

Следующие компоненты Edge имеют общий код. Таким образом, чтобы выполнить откат любого из этих компонентов на узле, необходимо выполнить откат всех этих компонентов, находящихся на этом узле.

  • edge-management-server (Сервер управления)
  • edge-message-processor (Процессор сообщений)
  • edge-router (Маршрутизатор)
  • edge-postgres-server (сервер Postgres)
  • edge-qpid-server (Qpid-сервер)

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

Откат Кассандры

Когда на определенном узле Cassandra выполняется серьезное обновление Cassandra, Cassandra изменяет схему данных, хранящихся на узле, делая прямой откат невозможным. Существует две методики отката. Вы будете использовать одну из этих методологий в зависимости от состояния обновления, от которого вы выполняете откат.

Методики отката

Удалите и используйте существующие узлы в кластере, чтобы перестроить узел.

Эту процедуру можно выполнить, если у вас есть хотя бы один полнофункциональный центр обработки данных в кластере, который все еще использует более старую версию Cassandra (Cassandra 2.1.22). Если вы обновили весь кластер Cassandra и хотите выполнить откат, необходимо выполнить действия, описанные в разделе Очистка и восстановление резервной копии или моментального снимка виртуальной машины.

Действия по откату

  1. Начните с узла, который вы хотите откатить:
    • Остановите Кассандру на узле:
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra stop
    • Удалите программное обеспечение Cassandra с узла:
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra uninstall
    • Удалить каталог данных из узла:
      rm -rf /opt/apigee/data/apigee-cassandra
    • Загрузите и запустите загрузочную версию старой версии Edge для частного облака, к которой вы хотите выполнить откат.

    Пример: Чтобы вернуться к версии 4.52.01,

    • Загрузите загрузочную версию 4.52.01:
      curl https://software.apigee.com/bootstrap_4.52.01.sh -o /tmp/bootstrap_4.52.01.sh -u ‘uName:pWord’
    • Выполните загрузку версии 4.52.01:
      sudo bash /tmp/bootstrap_4.52.01.sh apigeeuser=uName apigeepassword=pWord

    • Настройте Cassandra на узле:
      /opt/apigee/apigee-setup/bin/setup.sh -p c -f configFile
    • Выполните перестроение узла, указав имя функционального центра обработки данных:
      /opt/apigee/apigee-cassandra/bin/nodetool rebuild -h <node-IP> <functional-dc>
    • Повторите вышеуказанные шаги по одному на каждом узле, для которого хотите выполнить откат.
  2. После отката и перестройки всех узлов:
    • Запустите настройку любого узла сервера управления. Убедитесь, что сервер управления относится к откатной версии. Если нет, откатите и сервер управления.
    • Остановите сервер управления:
      /opt/apigee/apigee-service/bin/apigee-service edge-management-server stop
    • Если вы используете монетизацию, удалите также монетизацию:
      /opt/apigee/apigee-service/bin/apigee-service edge-mint-gateway uninstall
    • Удалите сервер управления:
      /opt/apigee/apigee-service/bin/apigee-service edge-gateway uninstall
    • Загрузите и запустите загрузку старой версии. Например, выполните следующие шаги, чтобы загрузить и выполнить загрузку версии 4.52.01:
      curl https://software.apigee.com/bootstrap_4.52.01.sh -o /tmp/bootstrap_4.52.01.sh -u ‘uName:pWord’
      sudo bash /tmp/bootstrap_4.52.01.sh apigeeuser=uName apigeepassword=pWord
    • Запустите настройку одного узла сервера управления:
      /opt/apigee/apigee-setup/bin/setup.sh -p mt -f configFile

Оптимизация после ребилда

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

Пример. Предположим, у вас есть шесть узлов Cassandra в локальном центре обработки данных. По умолчанию коэффициент репликации Apigee равен трем, поэтому каждый узел содержит 50% данных. В этом случае вы можете перестроить узлы №1 и №4, выполнив описанную выше процедуру. Для узлов № 2, № 3, № 5 и № 6 выполните следующие действия, чтобы восстановить резервную копию и запустить восстановление.

  1. Выполните процедуру до шестого шага, как описано в документации, для восстановления реплик в локальном центре обработки данных.
  2. Для остальных узлов выполните указанные ниже действия по одному на каждом оставшемся узле.
    • Восстановите резервную копию, которую вы записали на этом узле (обратите внимание: эта резервная копия, скорее всего, будет содержать устаревшие данные, поскольку эта резервная копия была создана до того, как вы начали обновление Cassandra):
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restore backup_file
    • Если у вас есть снимок узла виртуальной машины, вы можете восстановить снимок вместо восстановления резервной копии Cassandra.
    • После восстановления резервной копии запустите службу Cassandra на узле:
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra start
    • Выполните восстановление узла, чтобы последние данные можно было передавать в потоковом режиме из существующего центра обработки данных:
      /opt/apigee/apigee-cassandra/bin/nodetool -h <node-IP> repair -dc <local-dc-name>
    • Повторите шаги с третьего по шестой на каждом узле, который хотите восстановить.

Удалить и восстановить резервную копию/снимок виртуальной машины

Эта процедура является единственной доступной, если вы обновили весь кластер Cassandra и хотите выполнить откат.

Кроме того, резервные копии Apigee зависят от конкретного узла. Невозможно восстановить резервную копию, сделанную с одного узла, на другой. Резервные копии Cassandra включают информацию о метаданных узла (например, IP-адрес, положение кольца и т. д.).

  1. Начните с 1 узла Cassandra в кластере:
    • Остановите службу Cassandra на узле:
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra stop
    • Удалите программное обеспечение Cassandra с узла:
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra uninstall
    • Удалить каталог данных из узла:
      rm -rf /opt/apigee/data/apigee-cassandra
    • Загрузите и запустите загрузочную версию более старой версии Edge для частного облака, к которой вы хотите выполнить откат.

    Пример: Для отката к 4.52.01

    • Загрузите загрузочную версию 4.52.01:
      curl https://software.apigee.com/bootstrap_4.52.01.sh -o /tmp/bootstrap_4.52.01.sh -u ‘uName:pWord’
    • Выполните загрузку версии 4.52.01:
      sudo bash /tmp/bootstrap_4.52.01.sh apigeeuser=uName apigeepassword=pWord

    • Настройте Cassandra на узле:
      /opt/apigee/apigee-setup/bin/setup.sh -p c -f configFile
    • Восстановите резервную копию на узле, используя процедуру, описанную в разделе Восстановление из резервной копии.
    • Остановите Кассандру на узле:
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra stop
    • Удалить каталог данных:
      rm -rf /opt/apigee/data/apigee-cassandra/data
    • Восстановить резервную копию:
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restore backup_file
    • Запустите службу Cassandra на узле:
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra start
    • Повторите шаги на каждом узле Cassandra по одному.
    • Запустите восстановление на узлах по одному:
      /opt/apigee/apigee-cassandra/bin/nodetool -h <node-IP> repair -pr

Откат обновления Zookeeper 3.8.3

Если вы выполняете откат к версиям 4.52.00 или 4.51.00, вам потребуется выполнить некоторые специальные действия перед откатом Zookeeper. Эти шаги перечислены в разделе Откат.

Если вы выполняете откат до версии 4.52.01, откатите Zookeeper так же, как и любое программное обеспечение, как указано в разделе «Откат к предыдущей основной или второстепенной версии» ниже.

Откат Qpid

Если вы выполняете откат к версиям 4.52.00 или 4.51.00, вам потребуется выполнить некоторые специальные действия перед откатом Qpid. Эти шаги перечислены в разделе Откат.

Если вы выполняете откат к версии 4.52.01, откатите Qpid так же, как если бы вы выполняли откат любого программного обеспечения, указанного в разделе «Откат к предыдущей основной или второстепенной версии».

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

Если вы выполняете откат к версии 4.51.00, вам нужно будет выполнить некоторые специальные действия перед откатом Postgres. Эти шаги перечислены в разделе Откат.

Если вы выполняете откат до версии 4.52.01 или 4.52.00, откатите Postgres так же, как и любое программное обеспечение, как указано в разделе «Откат к предыдущей основной или второстепенной версии» ниже.

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

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

  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, необходимо удалить содержимое файла /opt/nginx/conf.d в дополнение к удалению группы компонентов edge-gateway :
      cd /opt/nginx/conf.d
       rm -rf *
  5. Удалите версию apigee-setup 4.52.02:
    /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. Повторите этот процесс для каждого узла, на котором размещен компонент, откат которого выполняется.

Откатить 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