將 Apigee Edge 4.18.05 更新至 4.51.00

本節將說明如何執行以下升級作業:

  • 從 4.18.05 到 4.51.00

誰可以執行更新

執行更新的使用者應與最初安裝 Edge 的使用者相同,或以 root 身分執行的使用者。

安裝 Edge RPM 後,任何使用者都可以設定這些 RPM。

您必須更新哪些元件

您必須更新所有 Edge 元件。Edge 不支援包含多個版本元件的設定。

自動傳播資源設定

如果您透過編輯 /opt/apigee/customer/application 中的 .properties 檔案來設定任何屬性,這些值會保留在更新中。

更新必要條件

升級 Apigee Edge 前,請先確認下列必要條件:

  • 備份所有節點
    基於安全考量,建議您在更新前完整備份所有節點。請按照目前 Edge 版本的程序執行備份作業。

    這樣一來,如果更新至新版本後無法正常運作,您就能使用備用方案。如要進一步瞭解備份,請參閱「備份與還原」。

  • 確認 Edge 是否正在執行
    請使用下列指令,確認 Edge 在更新程序期間是否已啟用並執行:
    /opt/apigee/apigee-service/bin/apigee-all status

新的 Edge UI

本節列出新 Edge UI 的考量事項。

安裝 Edge UI

完成初始安裝後,Apigee 建議您安裝 Edge UI,這是專為 Apigee Edge for Private Cloud 的開發人員和管理員提供的強化版使用者介面。

詳情請參閱「安裝新的 Edge UI」。

更新 Edge UI

如果您在 4.18.05 安裝 Edge UI Beta 版 (舊稱「新 Edge 體驗」UE),則必須解除安裝,然後重新安裝 Edge UI 的 4.19.01、4.19.06 或 4.50.00 版。詳情請參閱「私人雲端的新 Edge UI」。

處理更新失敗

如果更新失敗,您可以嘗試修正問題,然後再次執行 update.sh。您可以多次執行更新,系統會從上次中斷處繼續更新。

如果失敗導致您必須將更新內容復原為先前版本,請參閱將 4.50.00 版本復原為先前版本

記錄更新資訊

根據預設,update.sh 公用程式會將記錄資訊寫入以下位置:

/opt/apigee/var/log/apigee-setup/update.log

如果執行 update.sh 公用程式的使用者無法存取該目錄,系統會將記錄寫入 /tmp 目錄,並命名為 update_username.log

如果使用者無法存取 /tmpupdate.sh 公用程式就會失敗。

零停機更新

零停機更新或滾動式更新可讓您更新 Edge 安裝作業,而不會導致 Edge 服務中斷。

只有 5 個節點以上的設定才能進行零停機更新。

要想在無停機時間的情況下升級,關鍵在於從負載平衡器中逐一移除每個路由器。接著,請更新路由器和路由器所在電腦上的任何其他元件,然後將路由器重新加入負載平衡器。

  1. 依照機器更新順序所述,以正確順序更新機器。
  2. 更新路由器時,請選取任一路由器並將其設為無法連線,如「啟用/停用伺服器 (訊息處理器/路由器) 可連線性」一節所述。
  3. 更新所選路由器和所有其他 Edge 元件,這些元件與路由器位於相同的電腦上。 所有 Edge 設定都會在同一個節點上顯示路由器和訊息處理器。
  4. 讓路由器再次可供存取。
  5. 針對其他路由器重複執行步驟 2 至 4。
  6. 繼續為安裝環境中的其他機器更新。

請在更新前/後注意以下事項:

  • 在路由器和訊息處理器節點上:
    • 更新前:請執行下列操作:
      1. 讓路由器無法連線。
      2. 讓訊息處理工具無法連線。
    • 更新後 - 請執行下列操作:
      1. 讓訊息處理工具可供存取。
      2. 讓路由器可供存取。
  • 在單一路由器節點上:
    • 更新前,請讓路由器無法連線。
    • 更新完成後,請確保路由器可供存取。
  • 在單一訊息處理器節點上:
    • 在更新前,請讓 Message Processor 無法連線。
    • 更新完成後,請確保可存取訊息處理器。

使用靜默設定檔

您必須將靜默設定檔傳遞至更新指令。無聲設定檔應與用於安裝 Edge 4.18.05 的設定檔相同。

在有外部網際網路連線的節點上更新至 4.50.00

請按照下列程序更新節點上的 Edge 元件:

  1. 如果有,請停用任何設定為在 Cassandra 上執行修復作業的 CRON 工作,直到更新完成為止。
  2. 以 root 身分登入節點,安裝 Edge RPM。
  3. 安裝 yum-utilsyum-plugin-priorities
    sudo yum install yum-utils
    sudo yum install yum-plugin-priorities
  4. 按照「安裝 Edge apigee-setup 公用程式」中的說明,停用 SELinux。
  5. 如果您是在 Oracle 7.x 上安裝,請執行下列指令:
    sudo yum-config-manager --enable ol7_optional_latest
  6. 如果您是在 AWS 上安裝,請執行下列 yum-configure-manager 指令:
    yum update rh-amazon-rhui-client.noarch
    sudo yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional
  7. 將 Edge 4.50.00 bootstrap_4.50.00.sh 檔案下載至 /tmp/bootstrap_4.50.00.sh
    curl https://software.apigee.com/bootstrap_4.50.00.sh -o /tmp/bootstrap_4.50.00.sh
  8. 安裝 Edge 4.50.00 apigee-service 公用程式和依附元件:
    sudo bash /tmp/bootstrap_4.50.00.sh apigeeuser=uName apigeepassword=pWord

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

    根據預設,安裝程式會檢查您是否已安裝 Java 1.8。如果您沒有安裝,系統會自動為您安裝。使用 JAVA_FIX 選項指定如何處理 Java 安裝作業。JAVA_FIX 的值如下:

    • I:安裝 OpenJDK 1.8 (預設)。
    • C:不安裝 Java 繼續進行。
    • Q:結束。使用這個選項時,您必須自行安裝 Java。
  9. 使用 apigee-service 更新 apigee-setup 公用程式:
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup update
  10. 請更新管理伺服器上的 apigee-validate 公用程式,如以下範例所示:
    /opt/apigee/apigee-service/bin/apigee-service apigee-validate update
  11. 請更新管理伺服器上的 apigee-provision 公用程式,如以下範例所示:
    /opt/apigee/apigee-service/bin/apigee-service apigee-provision update
  12. 依照「機器更新順序」一節的說明,在節點上依序執行 update 公用程式:
    /opt/apigee/apigee-setup/bin/update.sh -c component -f configFile

    其中 component 是需要更新的 Edge 元件。可能的值包括:

    • "cs":Cassandra
    • 「edge」:所有 Edge 元件 (除了 Edge UI):管理伺服器、訊息處理器、路由器、QPID 伺服器、Postgres 伺服器
    • "ldap":OpenLDAP
    • "ps": postgresql
    • "qpid": qpidd
    • 「sso」:Apigee SSO (如果您已安裝 SSO)
    • "ui":Edge UI
    • 「zk」:Zookeeper

    configFile 與您在 4.18.05 安裝期間定義 Edge 元件時使用的設定檔相同。

    您可以將 component 設為「all」,讓 update.sh 對所有元件執行,但前提是您必須有 Edge 一體式 (aio) 安裝設定檔。例如:

    /opt/apigee/apigee-setup/bin/update.sh -c all -f ./sa_silent_config
  13. 如果尚未在執行 Edge UI 的所有節點上重新啟動,請按照下列步驟操作:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart
  14. 測試安裝程序所述,請在管理伺服器上執行 apigee-validate 公用程式,以測試更新。

如果您之後決定要回復更新,請按照「回復 4.50.00」一文所述的程序操作。

從本機存放區更新至 4.50.00

如果 Edge 節點位於防火牆後方,或以其他方式遭到禁止透過網際網路存取 Apigee 存放區,您可以從 Apigee 存放區的本機存放區或鏡像執行更新。

建立本機 Edge 存放區後,您可以透過兩種方式從本機存放區更新 Edge:

  • 建立存放區的 .tar 檔案、將 .tar 檔案複製到節點,然後從 .tar 檔案更新 Edge。
  • 在節點上安裝本機存放區的 webserver,讓其他節點可以存取。Apigee 提供 NGINX 網路伺服器供您使用,您也可以使用自己的網路伺服器。

如要從本機 4.50.00 存放區更新:

  1. 按照「安裝 Edge apigee-setup 公用程式」一文中的「建立本機 Apigee 存放區」說明,建立本機 4.50.00 存放區。
  2. 如何從 .tar 檔案安裝 apigee-service
    1. 在含有本機存放區的節點上,使用下列指令將本機存放區封裝至名為 /opt/apigee/data/apigee-mirror/apigee-4.50.00.tar.gz 的單一 .tar 檔案:
      /opt/apigee/apigee-service/bin/apigee-service apigee-mirror package
    2. 將 .tar 檔案複製到要更新 Edge 的節點。例如,將其複製到新節點的 /tmp 目錄中。
    3. 在新節點上,將檔案解壓縮至 /tmp 目錄:
      tar -xzf apigee-4.50.00.tar.gz

      這個指令會在包含 .tar 檔案的目錄中建立名為 repos 的新目錄。例如 /tmp/repos

    4. /tmp/repos 安裝 Edge apigee-service 公用程式和依附元件:
      sudo bash /tmp/repos/bootstrap_4.50.00.sh apigeeprotocol="file://" apigeerepobasepath=/tmp/repos

      請注意,您必須在這個指令中加入 repos 目錄的路徑。

  3. 如何使用 NGINX 網路伺服器安裝 apigee-service:
    1. 依照「安裝 Edge apigee-setup 公用程式」一文的「使用 NGINX 網路伺服器從存放區安裝」所述,設定 NGINX 網路伺服器。
    2. 在遠端節點上,將 Edge bootstrap_4.50.00.sh 檔案下載至 /tmp/bootstrap_4.50.00.sh
      /usr/bin/curl http://uName:pWord@remoteRepo:3939/bootstrap_4.50.00.sh -o /tmp/bootstrap_4.50.00.sh

      其中 uName:pWord 是您先前為存放區設定的使用者名稱和密碼,而 remoteRepo 則是存放區節點的 IP 位址或 DNS 名稱。

    3. 在遠端節點上安裝 Edge apigee-setup 公用程式和依附元件:
      sudo bash /tmp/bootstrap_4.50.00.sh apigeerepohost=remoteRepo:3939 apigeeuser=uName apigeepassword=pWord apigeeprotocol=http://

      其中 uName:pWord 是存放區使用者名稱和密碼。

  4. 使用 apigee-service 更新 apigee-setup 公用程式,如以下範例所示:
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup update 
  5. 請更新管理伺服器上的 apigee-validate 公用程式,如以下範例所示:
    /opt/apigee/apigee-service/bin/apigee-service apigee-validate update
  6. 請更新管理伺服器上的 apigee-provision 公用程式,如以下範例所示:
    /opt/apigee/apigee-service/bin/apigee-service apigee-provision update
  7. 依照「機器更新順序」一節的說明,在節點上依序執行 update 公用程式:
    /opt/apigee/apigee-setup/bin/update.sh -c component -f configFile

    其中:

    • component 是 Edge 元件要更新的項目。您通常會更新下列元件:
      • "cs":Cassandra
      • 「edge」:所有 Edge 元件 (Edge UI 除外)。「edge」元件包含管理伺服器、訊息處理器、路由器、QPID 伺服器和 Edge Postgres 伺服器。
      • "ldap":OpenLDAP
      • "ps": postgresql
      • "qpid": qpidd
      • 「sso」:Apigee SSO (如果您已安裝 SSO)
      • "ui":Edge UI
      • 「zk」:Zookeeper
    • configFile 是您在 4.18.05 安裝期間用來定義 Edge 元件的設定檔。

    您可以將 component 設為「all」,讓 update.sh 對所有元件執行,但前提是您必須有 Edge 一體式 (AIO) 安裝設定檔。例如:

    /opt/apigee/apigee-setup/bin/update.sh -c all -f /tmp/sa_silent_config
  8. 如果尚未在執行 Edge UI 的所有節點上重新啟動,請按照下列步驟操作:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart
  9. 測試安裝程序所述,請在管理伺服器上執行 apigee-validate 公用程式,以測試更新。

如果您之後決定要回復更新,請按照「回復 4.50.00」一文所述的程序操作。

機器更新順序

在 Edge 安裝中更新機器的順序非常重要:

  • 您必須先更新 所有 Cassandra 和 ZooKeeper 節點,再更新任何其他節點。
  • 如果機器有多個 Edge 元件 (管理伺服器、訊息處理器、路由器、QPID 伺服器,但不是 Postgres 伺服器),請使用 -c edge 選項同時更新所有元件。
  • 如果步驟指定應在多部機器上執行,請依照指定的機器順序執行。
  • 你不需要另外採取任何步驟來更新營利功能。您指定 -c edge 選項時,系統會更新該值。

1 個節點的獨立升級

如何將 1 個節點的獨立設定升級至 4.50.00:

  1. 更新所有元件:
    /opt/apigee/apigee-setup/bin/update.sh -c all -f configFile
  2. (如果您已安裝 apigee-adminapi) 已更新 apigee-adminapi 公用程式:
    /opt/apigee/apigee-service/bin/apigee-service apigee-adminapi update

2 個節點的獨立升級

針對 2 個節點的獨立安裝作業更新下列元件:

如需 Edge 拓撲和節點編號的清單,請參閱「安裝拓撲」。

  1. 更新機器 1 上的 Cassandra 和 ZooKeeper:
    /opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile
  2. 在機器 2 上更新 Qpid 和 Postgres:
    /opt/apigee/apigee-setup/bin/update.sh -c qpid,ps -f configFile
  3. 更新機器 1 上的 LDAP:
    /opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile
  4. 在機器 2 和 1 上更新 Edge 元件:
    /opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
  5. 更新機器 1 上的 UI:
    /opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile
  6. (如果您已安裝 apigee-adminapi) 在機器 1 上更新 apigee-adminapi 公用程式:
    /opt/apigee/apigee-service/bin/apigee-service apigee-adminapi update
  7. (如果您已安裝 Apigee SSO) 更新機器 1 上的 Apigee SSO:
    /opt/apigee/apigee-setup/bin/update.sh -c sso -f sso_config_file

    其中 sso_config_file 是您在安裝 SSO 時建立的設定檔。

  8. 在機器 1 上重新啟動 Edge UI 元件:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

5 節點升級

針對 5 節點安裝作業更新下列元件:

如需 Edge 拓撲和節點編號的清單,請參閱「安裝拓撲」。

  1. 在機器 1、2 和 3 上更新 Cassandra 和 ZooKeeper:
    /opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile
  2. 在機器 4 上更新 Qpid 和 Postgres:
    /opt/apigee/apigee-setup/bin/update.sh -c qpid, ps -f configFile
  3. 在機器 5 上更新 Qpid 和 Postgres:
    /opt/apigee/apigee-setup/bin/update.sh -c qpid, ps -f configFile
  4. 更新機器 1 上的 LDAP:
    /opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile
  5. 在機器 4、5、1、2、3 上更新 Edge 元件:
    /opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
  6. 更新機器 1 上的 UI:
    /opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile
  7. (如果您已安裝 apigee-adminapi) 在機器 1 上更新 apigee-adminapi 公用程式:
    /opt/apigee/apigee-service/bin/apigee-service apigee-adminapi update
  8. (如果您已安裝 Apigee SSO) 更新機器 1 上的 Apigee SSO:
    /opt/apigee/apigee-setup/bin/update.sh -c sso -f sso_config_file

    其中 sso_config_file 是您在安裝 SSO 時建立的設定檔。

  9. 在機器 1 上重新啟動 Edge UI 元件:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

9 節點叢集升級

針對 9 節點的叢集安裝作業更新下列元件:

如需 Edge 拓撲和節點編號的清單,請參閱「安裝拓撲」。

  1. 在機器 1、2 和 3 上更新 Cassandra 和 ZooKeeper:
    /opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile
  2. 在機器 6 和 7 上更新 Qpid:
    /opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile
  3. 更新機器 8 上的 Postgres:
    /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
  4. 更新機器 9 上的 Postgres:
    /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
  5. 更新機器 1 上的 LDAP:
    /opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile
  6. 依序更新機器 6、7、8、9、1、4 和 5 的 Edge 元件:
    /opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
  7. 更新機器 1 上的 UI:
    /opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile
  8. (如果您已安裝 apigee-adminapi) 在機器 1 上更新 apigee-adminapi 公用程式:
    /opt/apigee/apigee-service/bin/apigee-service apigee-adminapi update
  9. (如果您已安裝 Apigee SSO) 更新機器 1 上的 Apigee SSO:
    /opt/apigee/apigee-setup/bin/update.sh -c sso -f sso_config_file

    其中 sso_config_file 是您在安裝 SSO 時建立的設定檔。

  10. 在機器 1 上重新啟動 Edge UI 元件:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

13 節點叢集升級

針對 13 個節點的叢集安裝作業,更新下列元件:

如需 Edge 拓撲和節點編號的清單,請參閱「安裝拓撲」。

  1. 在機器 1、2 和 3 上更新 Cassandra 和 ZooKeeper:
    /opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile
  2. 在機器 12 和 13 上更新 Qpid:
    /opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile
  3. 更新機器 8 上的 Postgres:
    /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
  4. 更新機器 9 上的 Postgres:
    /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
  5. 在機器 4 和 5 上更新 LDAP:
    /opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile
  6. 依序更新機器 12、13、8、9、6、7、10 和 11 的 Edge 元件:
    /opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
  7. 更新機器 6 和 7 的 UI:
    /opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile
  8. (如果您已安裝 apigee-adminapi) 在機器 6 和 7 上更新 apigee-adminapi 公用程式:
    /opt/apigee/apigee-service/bin/apigee-service apigee-adminapi update
  9. (如果您已安裝 Apigee SSO) 在機器 6 和 7 上更新 Apigee SSO:
    /opt/apigee/apigee-setup/bin/update.sh -c sso -f sso_config_file

    其中 sso_config_file 是您在安裝 SSO 時建立的設定檔。

  10. 在機器 6 和 7 上重新啟動 Edge UI 元件:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

12 節點叢集升級

針對 12 節點的叢集安裝作業更新下列元件:

如需 Edge 拓撲和節點編號的清單,請參閱「安裝拓撲」。

  1. 更新 Cassandra 和 ZooKeeper:
    1. 在資料中心 1 的機器 1、2 和 3 上:
      /opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile
    2. 在資料中心 2 的機器 7、8 和 9 上
      /opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile
  2. 更新 qpidd:
    1. 資料中心 1 中的機器 4、5
      1. 在機器 4 上更新 qpidd
        /opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile
      2. 更新機器 5 上的 qpidd
        /opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile
    2. 資料中心 2 中的機器 10、11
      1. 在機器 10 上更新 qpidd
        /opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile
      2. 在機器 11 上更新 qpidd
        /opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile
  3. 更新 Postgres:
    1. 資料中心 1 中的機器 6
      /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
    2. 資料中心 2 中的機器 12
      /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
  4. 更新 LDAP:
    1. 資料中心 1 中的機器 1
      /opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile
    2. 資料中心 2 中的機器 7
      /opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile
  5. 更新 Edge 元件:
    1. 資料中心 1 中的機器 4、5、6、1、2、3
      /opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
    2. 資料中心 2 中的機器 10、11、12、7、8、9
      /opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
  6. 更新 UI:
    1. 資料中心 1 中的機器 1:
      /opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile
    2. 資料中心 2 中的機器 7:
      /opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile
    3. 在機器 1 和 7 上重新啟動 Edge UI 元件:
      /opt/apigee/apigee-service/bin/apigee-service edge-ui restart
  7. (如果您已安裝 apigee-adminapi) 更新 apigee-adminapi 公用程式:
    1. 資料中心 1 中的機器 1:
      /opt/apigee/apigee-service/bin/apigee-service apigee-adminapi update
    2. 資料中心 2 中的機器 7:
      /opt/apigee/apigee-service/bin/apigee-service apigee-adminapi update
  8. (如果您安裝了 Apigee SSO) 更新 Apigee SSO:
    1. 資料中心 1 中的機器 1:
      /opt/apigee/apigee-setup/bin/update.sh -c sso -f sso_config_file
    2. 資料中心 2 中的機器 7:
      /opt/apigee/apigee-setup/bin/update.sh -c sso -f sso_config_file
    3. 其中 sso_config_file 是您在安裝 SSO 時建立的設定檔。

非標準設定

如果您使用非標準設定,請依照下列順序更新 Edge 元件:

  1. ZooKeeper
  2. Cassandra
  3. qpidd、ps
  4. LDAP
  5. Edge,表示所有節點上的「-c edge」設定檔,依序為:含有 Qpid 伺服器的節點、Edge Postgres 伺服器、管理伺服器、訊息處理器和路由器。
  6. Edge UI
  7. apigee-adminapi
  8. Apigee SSO

更新完成後,請務必在執行 Edge UI 的所有機器上重新啟動 Edge UI 元件。