將 Apigee Edge 4.18.05 更新至 4.50.00

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

  • 4.18.05 至 4.50.00

誰可以執行更新

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

安裝 Edge 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 中安裝了 Beta 版 Edge UI (舊稱「新版 Edge 介面」或「UE」),則必須解除安裝,並全新安裝 4.19.01、4.19.06 或 4.50.00 版 Edge UI。詳情請參閱「私有雲適用的新版 Edge UI」。

處理更新失敗

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

如果失敗時需要將更新復原至先前版本,請參閱「復原 4.50.00」一節。

記錄更新資訊

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

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

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

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

零停機更新

零停機時間更新 (或滾動式更新) 可讓您更新 Edge 安裝作業,而不必關閉 Edge。

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

如要進行零停機時間升級,關鍵在於從負載平衡器中逐一移除各個路由器。接著,您要更新路由器和與路由器位於同一部機器上的任何其他元件,然後將路由器重新加入負載平衡器。

  1. 請按照機器更新順序一節所述,依正確順序更新安裝作業中的機器。
  2. 更新路由器時,請選取任一路由器,並將其設為無法連線,如「啟用/停用伺服器 (訊息處理器/路由器) 可連線狀態」所述。
  3. 更新所選路由器,以及與路由器位於同一部機器上的所有其他 Edge 元件。 所有 Edge 設定都會在同一個節點上顯示路由器和訊息處理器。
  4. 讓路由器恢復連線。
  5. 對其餘路由器重複步驟 2 到 4。
  6. 繼續更新安裝作業中的其餘機器。

更新前後請留意以下事項:

  • 在合併的路由器和訊息處理器節點上:
    • 更新前:請執行下列操作:
      1. 讓路由器無法連線。
      2. 讓訊息處理器無法連線。
    • 更新後,請執行下列操作:
      1. 讓訊息處理器可供連線。
      2. 讓路由器可供連線。
  • 在單一路由器節點上:
    • 更新前,請先讓路由器無法連線。
    • 更新後,請確保路由器可連線。
  • 在單一訊息處理器節點上:
    • 更新前,請先讓訊息處理器無法連線。
    • 更新後,請讓訊息處理器可供連線。

使用靜音設定檔

您必須將自動設定檔傳遞至更新指令。自動設定檔應與您用來安裝 Edge 4.18.05 的檔案相同。

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

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

  1. 如有設定任何 CRON 工作來執行 Cassandra 修復作業,請先停用,直到更新完成。
  2. 以 root 身分登入節點,安裝 Edge RPM。
  3. 安裝 yum-utils 和 yum-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 UI 以外的所有 Edge 元件:Management Server、訊息處理器、Router、QPID Server、Postgres Server
    • "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 all-in-one (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。
  • 在本機存放區的節點上安裝網路伺服器,讓其他節點可以存取。 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 UI 以外的所有 Edge 元件。「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 all-in-one (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 元件的機器上重新啟動該元件。