復原 Apigee Edge 4.19.06

如果在更新至 Edge 4.19.06 時發生錯誤,可以復原導致錯誤的元件,然後再次嘗試更新。

您可以將 Edge 4.19.06 復原至下列 Feature Release 版本:

  • 版本 4.19.01
  • 4.18.05 版
  • 4.18.01 版

您可能會在下列兩種情況下執行回溯作業:

  1. 復原至先前的功能版本。例如從 4.19.06 變更為 4.18.05。
  2. 在同一個版本中,將裝置回復至先前的更新版本。例如從 4.19.01.02 到 4.19.01.01。

詳情請參閱 Apigee Edge 發布程序

誰可以執行復原作業

執行復原作業的使用者,應與最初更新 Edge 的使用者相同,或以根層級執行的使用者相同。

根據預設,Edge 元件會以「apigee」使用者身分執行。在某些情況下,您可能會以不同的使用者身分執行 Edge 元件。舉例來說,如果 Router 必須存取特權連接埠 (例如 1000 以下的連接埠),則必須以 root 身分或具有這些連接埠存取權的使用者身分執行 Router。或者,您可以以一個使用者的身分執行一個元件,以另一個使用者的身分執行另一個元件。

含有通用程式碼的元件

下列 Edge 元件共用通用程式碼。因此,如要回溯節點上的任何一個元件,您必須回溯該節點上的所有元件。

  • edge-management-server (管理伺服器)
  • edge-message-processor (訊息處理器)
  • edge-router (路由器)
  • edge-postgres-server (Postgres Server)
  • edge-qpid-server (Qpid 伺服器)

舉例來說,如果您在節點中安裝管理伺服器、路由器和訊息處理器,則必須先復原全部三個項目,才能復原其中任何項目。

復原至先前的功能版本

如要將功能回溯至先前的版本,請在每個代管元件的節點上執行下列操作:

  1. 下載要回溯至的版本的 bootstrap.sh 檔案:

    • 如要復原至 4.19.01,請下載 bootstrap_4.19.01.sh
      curl https://software.apigee.com/bootstrap_4.19.01.sh -o /tmp/bootstrap_4.19.01.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 
  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.19.06 版:
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup uninstall
  6. 安裝 4.19.01、4.18.05 或 4.18.01 版的 apigee-service 公用程式及其依附元件。以下範例會安裝 apigee-service 的 4.18.01 版:
    sudo bash /tmp/bootstrap_4.18.01.sh apigeeuser=uName apigeepassword=pWord

    其中 uNamepWord 是您從 Apigee 收到的使用者名稱和密碼。如果省略 pWord,系統會提示您輸入。

    如果您收到錯誤訊息,請確認您已在步驟 1 中下載 bootstrap.sh 檔案。

  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.18.01-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. 針對代管您要回溯的元件的每個節點重複執行這個程序。