將 Apigee Edge 4.18.05 更新至 4.50.00

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

  • 從 4.18.05 到 4.50.00

誰可以執行更新

執行更新的使用者必須與原先安裝 Edge 的使用者,或以根層級執行的使用者相同。

安裝 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 版的 Edge UI (先前稱為「New 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 公用程式的使用者無法存取該目錄,系統會以名為 update_username.log 的檔案將記錄寫入 /tmp 目錄。

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

零停機時間更新

零停機時間更新或滾動式更新可讓您在不降低 Edge 的情況下更新 Edge 安裝。

只有在設定 5 節點以上設定的情況下,零停機時間更新才能使用。

升級零停機的關鍵就是從負載平衡器一次移除一個路由器。接著,您要更新路由器和同一部機器上的任何其他元件,然後再將路由器加回負載平衡器。

  1. 按照機器更新順序的說明,按照正確的安裝順序更新機器。
  2. 需要更新路由器時,請選取任一路由器,使其無法連線至該路由器,相關說明請參閱啟用/停用伺服器 (訊息處理器/路由器) 可連性一文。
  3. 在與路由器相同的機器上,更新所選路由器和所有其他 Edge 元件。 所有邊緣設定都會在同一節點上顯示路由器和訊息處理器。
  4. 重新連線至路由器。
  5. 針對其餘的路由器重複步驟 2 到步驟 4。
  6. 繼續更新安裝檔中剩餘的任何機器。

請在更新前/後處理下列事項:

  • 在合併的路由器和訊息處理器節點上:
    • 更新前,請執行下列步驟:
      1. 無法連線至路由器。
      2. 將無法連上「訊息處理器」。
    • 更新後,請執行下列步驟:
      1. 將訊息處理器設為可連線。
      2. 確定路由器可連線。
  • 在單一路由器節點上:
    • 更新前,將無法連上路由器。
    • 更新完成後,請將路由器恢復連線。
  • 在單一訊息處理器節點上:
    • 更新前,請讓訊息處理器無法存取。
    • 更新完成後,請讓訊息處理器可連上。

使用無訊息設定檔

您必須將無訊息設定檔傳送至更新指令。靜音設定檔應該與您用來安裝 Edge 4.18.05 的檔案相同。

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

請使用以下程序更新節點上的 Edge 元件:

  1. 如有的話,請停用所有設定在 Cassandra 上執行修復作業的 CRON 工作,直到更新完成為止。
  2. 以根層級登入節點即可安裝 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 UI 以外的所有邊緣元件:管理伺服器、訊息處理器、路由器、QPID 伺服器、Postgres 伺服器
    • 「ldap」:OpenLDAP
    • 「ps」:postgresql
    • "qpid": qpidd
    • 「sso」:Apigee SSO (如果您已安裝單一登入)
    • 「ui」:Edge UI
    • 「zk」:動物守門員

    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。
  • 在含有本機存放區的節點中安裝網路伺服器,方便其他節點存取。 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

      請注意,您會在這個指令中加入存放區目錄的路徑。

  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 元件。「邊緣」元件包含管理伺服器、訊息處理器、路由器、QPID 伺服器和 Edge Postgres 伺服器。
      • 「ldap」:OpenLDAP
      • 「ps」:postgresql
      • "qpid": qpidd
      • 「sso」:Apigee SSO (如果您已安裝單一登入)
      • 「ui」:Edge UI
      • 「zk」:動物守門員
    • 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 節點獨立安裝:

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

  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 節點安裝:

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

  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 個節點的叢集安裝作業:

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

  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 個節點的叢集安裝:

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

  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 個節點的叢集安裝:

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

  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. 資料中心 4、5 在資料中心 1
      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. 資料中心的機器 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
      /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、5、6、1、2、3 中的機器 1
      /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. 邊緣,代表所有節點上的「-c 邊緣」設定檔,順序為:包含 Qpid 伺服器、Edge Postgres 伺服器、管理伺服器、訊息處理器和路由器的節點。
  6. Edge UI
  7. apigee-adminapi
  8. Apigee 單一登入 (SSO)

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