更新 Apigee Edge 4.50.00 或 4.51.00 至 4.52.00

Apigee 支援將 Edge for Private Cloud 從 4.50.00 版或 4.51.00 版直接升級至 4.52.00 版。本頁說明如何執行任一升級。

可執行更新的使用者

執行更新的使用者必須是最初安裝 Edge 的使用者,或是以系統管理員身分執行的使用者。

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

您必須更新哪些元件

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

更新必要條件

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

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

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

  • 確認 Edge 是否正在執行
    請使用下列指令,確認 Edge 在更新程序期間是否已啟用並執行:
    /opt/apigee/apigee-service/bin/apigee-all status
  • 確認 Cassandra 壓縮策略為 LeveledCompactionStrategy
    確認 Cassandra 壓縮策略已設為 LeveledCompactionStrategy,如「變更 Cassandra 壓縮策略」一文所述。

自動傳播資源設定

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

必須升級至 Zookeeper 3.8.0

這次推出的 Edge for Private Cloudes 版本包含升級至 Zookeeper 3.8.0。在升級過程中,所有 Zookeeper 資料都會遷移至 Zookeeper 3.8.0。

升級 Zookeeper 前,請先詳閱 Zookeeper 維護指南。大多數 Edge 實際運作系統都會使用一組 Zookeeper 節點,分散在多個資料中心。其中一些節點已設定為參與動物園負責人選舉的選民,而其餘節點則設定為觀察者。詳情請參閱 關於主管、追蹤者、選民和觀察者。投票節點會選出領導者,之後投票節點本身就會成為追隨者。

在更新程序期間,當領導節點關閉時,可能會出現暫時性延遲或寫入 Zookeeper 的失敗。這可能會影響寫入 Zookeeper 的管理作業,例如 Proxy 的部署作業,以及 Apigee 基礎架構變更,例如新增或移除訊息處理器等。在遵循下列程序升級 Zookeeper 時,除非這些執行階段 API 呼叫管理 API,否則不會對 Apigee 的執行階段 API 造成影響。

從大方向來看,升級程序會備份每個節點。接著升級所有觀察者和追隨者,最後升級領導節點。

備份

請備份 Zookeeper 的所有節點,以備需要回溯時使用。請注意,復原作業會將 Zookeeper 還原至備份時的狀態。注意:自備份建立以來,Apigee 中任何部署或基礎架構變更 (相關資訊儲存在 Zookeeper 中) 都會在還原期間遺失。

  /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper backup

如果您使用的是虛擬機器,且具備相關能力,也可以拍攝 VM 快照或備份,以便在必要時還原或回復。

找出領袖、追隨者和觀察者

注意:下方的範例指令會使用 nc 公用程式傳送資料至 Zookeeper。您也可以使用其他公用程式將資料傳送至 Zookeeper。

  1. 如果 ZooKeeper 節點未安裝 nc,請安裝 nc:
      sudo yum install nc
  2. 在節點上執行下列 nc 指令,其中 2181 是 ZooKeeper 通訊埠:
      echo stat | nc localhost 2181

    您會看到如下所示的輸出:

      Zookeeper version: 3.8.0-5a02a05eddb59aee6ac762f7ea82e92a68eb9c0f, built on 2022-02-25 08:49 UTC
      Clients:
       /0:0:0:0:0:0:0:1:41246[0](queued=0,recved=1,sent=0)
      
      Latency min/avg/max: 0/0.2518/41
      Received: 647228
      Sent: 647339
      Connections: 4
      Outstanding: 0
      Zxid: 0x400018b15
      Mode: follower
      Node count: 100597

    在節點輸出的 Mode 行中,您應該會看到觀察員、領導者或追隨者 (意指非領導者的投票者),具體取決於節點設定。注意:在 Edge 的獨立安裝程序中,如果只有一個 ZooKeeper 節點,Mode 就會設為獨立。

  3. 針對每個 ZooKeeper 節點重複執行步驟 1 和 2。

在觀察器和追隨節點上升級 Zookeeper

請按照下列步驟,在每個觀察者和追隨者節點上升級 Zookeeper:

  1. 請按照「在有外部網際網路連線的節點上更新至 4.52.00」一文的說明,下載並執行 Edge for Private Cloud 4.52 的 bootstrap。這個程序可能會因節點是否有外部網際網路連線,或您是否執行離線安裝作業而有所不同。
  2. 升級 Zookeeper 元件:
      /opt/apigee/apigee-setup/bin/update.sh -c zk -f <silent-config-file>
    注意:如果這些節點已安裝其他元件 (例如 Cassandra),您可以立即升級這些元件 (例如 cs、zk 設定檔),也可以稍後再升級其他元件。Apigee 建議您只升級 Zookeeper,並確保叢集正常運作,然後再升級其他元件。
  3. 針對每個 Zookeeper 觀察器和追隨者節點重複上述步驟。

關閉領導者

所有觀察者和追隨者節點都升級完畢後,請關閉領導節點。在識別為主要節點的節點上,執行下列指令:

  /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper stop

請注意,在選出新領導者之前,Zookeeper 可能會出現暫時延遲或寫入失敗的情況。這可能會影響寫入 Zookeeper 的作業,例如 Proxy 的部署動作,或 Apigee 基礎架構變更,例如新增或移除訊息處理器等。

確認已選出新領袖

按照上方「識別領導者、追蹤者和觀察者」一節中的步驟,在現有領導者停止後,確認已有新的領導者從追蹤者中選擇。請注意,領導者可能會選擇與目前領導者不同的資料中心。

升級主管

按照「在觀察器和追隨者節點上升級 Zookeeper」一節中的步驟操作。

舊的領導節點也升級完成後,請驗證叢集健康狀態,並確認是否有領導節點。

復原

如果需要回溯:

  1. 請先對觀察者和追蹤者執行復原步驟。
  2. 下載並執行要復原版本的啟動版本 (4.50 或 4.51)。這個程序可能會因節點是否有外部網路連線,或您是否要進行離線安裝而異。
  3. 如果 Zookeeper 正在節點上執行,請停止該服務:
      /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper stop
  4. 解除安裝現有的 zookeeper:
      /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper uninstall
  • 照常安裝 Zookeeper:
      /opt/apigee/apigee-setup/bin/setup.sh -p zk -f <silent-config-file>
  • 所有追蹤者和觀察器都復原後,在主要節點上按照步驟 2 到 5 復原主要節點。
  • 所有節點都復原後,請驗證叢集健康狀態,並確保叢集中有主要節點。
  • 還原備份

    請參閱「從備份還原」一文。請注意,從 Edge for Private Cloud 4.50 和 4.51 等舊版取得的 Zookeeper 備份,應與 Edge for Private Cloud 4.52 中的 Zookeeper 版本相容。

    必須升級至 Postgres 14

    這個版本的 Edge 包含 Postgres 14 的升級版本。在升級過程中,所有 Postgres 資料都會遷移至 Postgres 14。

    大多數 Edge 實際工作環境系統使用兩個為主待命複製設定的 Postgres 節點。在更新程序期間,當 Postgres 節點因更新而關閉時,分析資料仍會寫入 Qpid 節點。Postgres 節點完成更新並恢復上線後,數據分析資料就會推送至 Postgres 節點。

    執行 Postgres 更新的方式取決於您為 Postgres 節點設定資料儲存空間的方式:

    • 如果您使用本機資料儲存空間來儲存 Postgres 節點,則必須在升級期間安裝新的 Postgres 待命節點。升級完成後,您可以停用新的 Postgres 待命節點。

      如果因任何原因復原更新,就必須新增額外的 Postgres 待命節點。如果您必須回復更新,新的 Postgres 待命節點會在回復後成為 Postgres 主節點。因此,當您安裝新的 Postgres 待命節點時,應位於符合 Postgres 伺服器所有硬體需求的節點,如 Edge 安裝需求條件所述。

      在包含 1 節點和 2 節點的 Edge 設定 (用於原型設計和測試) 中,您只有一個 Postgres 節點。您可以直接更新這些 Postgres 節點,而無需建立新的 Postgres 節點。

    • 如果您使用網路儲存空間來儲存 Postgres 節點,則不必按照 Apigee 建議安裝新的 Postgres 節點。在下列程序中,您可以略過指定安裝新 Postgres 待命節點,並稍後將其停用的步驟。

      開始更新程序前,請為 Postgres 使用的資料儲存庫拍攝網路快照。然後,如果更新期間發生任何錯誤,而您被強制復原,您可以從該快照還原 Postgres 節點。

    安裝新的 Postgres 待命節點

    這個程序會在新節點上建立 Postgres 待命伺服器。請務必為現有 Edge 版本 (4.50.00 或 4.51.00) 安裝新的 Postgres 備援伺服器,而非 4.52.00 版。

    使用與安裝目前 Edge 版本相同的設定檔執行安裝作業。

    如要建立新的 Postgres 待命節點,請按照下列步驟操作:

    1. 在目前的 Postgres 主機上,編輯 /opt/apigee/customer/application/postgresql.properties 檔案,設定下列符記。如果該檔案不存在,請建立檔案:
      conf_pg_hba_replication.connection=host replication apigee existing_standby_ip/32 trust\ \nhost replication apigee new_standby_ip/32 trust

      其中 existing_standby_ip 是目前 Postgres 備援伺服器的 IP 位址,而 new_standby_ip 則是新備援節點的 IP 位址。

    2. 在 Postgres 主機上重新啟動 apigee-postgresql
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql restart
    3. 查看主控台上的 /opt/apigee/apigee-postgresql/conf/pg_hba.conf 檔案,確認已新增新的待命節點。您應該會在該檔案中看到下列幾行:
      host replication apigee existing_standby_ip/32 trust
      host replication apigee new_standby_ip/32 trust
    4. 安裝新的 Postgres 待命伺服器:
      1. 編輯用於安裝目前 Edge 版本的設定檔,指定下列項目:
        # IP address of the current master:
        PG_MASTER=192.168.56.103
        # IP address of the new standby node
        PG_STANDBY=192.168.56.102
      2. 按照安裝 Edge apigee-setup 公用程式停用 SELinux。
      3. 如果您目前使用的是 Edge 4.51.00 版:

        1. 將 Edge bootstrap_4.51.00.sh 檔案下載至 /tmp/bootstrap_4.51.00.sh
          curl https://software.apigee.com/bootstrap_4.51.00.sh -o /tmp/bootstrap_4.51.00.sh
        2. 安裝 Edge apigee-service 公用程式和依附元件:
          sudo bash /tmp/bootstrap_4.51.00.sh apigeeuser=uName apigeepassword=pWord

        如果您目前使用的是 Edge 4.50.00 版:

        1. 將 Edge 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
        2. 安裝 Edge apigee-service 公用程式和依附元件:
          sudo bash /tmp/bootstrap_4.50.00.sh apigeeuser=uName apigeepassword=pWord
      4. 使用 apigee-service 安裝 apigee-setup 公用程式:
        /opt/apigee/apigee-service/bin/apigee-service apigee-setup install
      5. 安裝 Postgres:
        /opt/apigee/apigee-setup/bin/setup.sh -p ps -f configFile
      6. 在新的待命節點上執行下列指令:
        /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby

        確認是否為待機模式。

    執行 Postgres 就地升級

    注意:您必須先執行下列初步步驟,才能執行 Postgres 就地升級作業。

    初步步驟

    在對 Postgres 執行原地升級前,請在主機和備援主機上執行下列步驟,以便更新 apigee-postgresql 上的 max_locks_per_transaction 屬性:

    1. 如果不存在,請建立 /opt/apigee/customer/application/postgresql.properties 檔案。
    2. 將此檔案的擁有權變更為 apigee
      sudo chown apigee:apigee /opt/apigee/customer/application/postgresql.properties
    3. 在檔案中新增以下屬性:
      conf/postgresql.conf+max_locks_per_transaction=30000
    4. 設定 apigee-postgresql
      apigee-service apigee-postgresql configure
    5. 重新啟動 apigee-postgresql
      apigee-service apigee-postgresql restart

    執行直接升級

    如要執行 Postgres 14 就地升級作業,請執行下列步驟:

    1. 在主機上升級 postgres
      /opt/apigee/apigee-setup/bin/update.sh -c ps -f /opt/silent.conf
    2. 在主機上執行設定指令:
      apigee-service apigee-postgresql setup -f /opt/silent.conf
    3. 在主要主機上執行設定指令:
      apigee-service apigee-postgresql configure
    4. 重新啟動主機:
      apigee-service apigee-postgresql restart
    5. 將其設為主機:
      apigee-service apigee-postgresql setup-replication-on-master -f /opt/silent.conf
    6. 確認主機已啟動:
      apigee-service apigee-postgresql wait_for_ready
    7. 停止待命:
      apigee-service apigee-postgresql stop
    8. 升級待機模式。

      注意:如果這個步驟發生錯誤/失敗,可以忽略。update.sh 會嘗試以不正確的設定啟動待命伺服器。如果 Postgres 安裝作業已升級至 14,則可忽略這個錯誤。

      /opt/apigee/apigee-setup/bin/update.sh -c ps -f /opt/silent.conf
    9. 確認已停止待命:
      apigee-service apigee-postgresql stop
    10. 移除舊的待命設定:
      rm -rf /opt/apigee/data/apigee-postgresql/
    11. 在待命伺服器上設定複寫功能:
      apigee-service apigee-postgresql setup-replication-on-standby -f /opt/silent.conf
    12. 從主機和備援主機的 /opt/apigee/customer/application/postgresql.properties 檔案中移除 conf/postgresql.conf+max_locks_per_transaction=30000 行。這行程式碼是在初步步驟中新增。

    完成這項程序後,待命主機就會成功啟動。

    停用 Postgres 節點

    更新完成後,請停用新的待命節點:

    1. 確認 Postgres 正在執行:
      /opt/apigee/apigee-service/bin/apigee-all status

      如果 Postgres 未執行,請啟動它:

      /opt/apigee/apigee-service/bin/apigee-all start
    2. 在新的待命節點上執行下列 curl 指令,取得新待命節點的 UUID:
      curl -u sysAdminEmail:password http://node_IP:8084/v1/servers/self

      輸出內容結尾處會顯示節點的 UUID,格式如下:

      "type" : [ "postgres-server" ],
      "uUID" : "599e8ebf-5d69-4ae4-aa71-154970a8ec75"
    3. 對新的待命節點執行下列指令,以停止新的待命節點:
      /opt/apigee/apigee-service/bin/apigee-all stop
    4. 在 Postgres 主要節點上編輯 /opt/apigee/customer/application/postgresql.properties,從 conf_pg_hba_replication.connection 移除新的待命節點:
      conf_pg_hba_replication.connection=host replication apigee existing_standby_ip/32 trust
    5. 在 Postgres 主要執行個體上重新啟動 apigee-postgresql:
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql restart
    6. 透過查看主要執行個體上的 /opt/apigee/apigee-postgresql/conf/pg_hba.conf 檔案,驗證已移除新的待命節點。您應該會在該檔案中只看到下列一行:
      host replication apigee existing_standby_ip/32 trust
    7. 在 Management Server 節點上執行下列 Edge Management API 呼叫,從 ZooKeeper 刪除待命節點的 UUID:
      curl -u sysAdminEmail:password -X DELETE http://ms_IP:8080/v1/servers/new_standby_uuid

    Postgres 升級後的步驟

    進行重大 Postgres 升級後,Postgres 的內部統計資料會遭到清除。這些統計資料可協助 Postgres 查詢規劃器使用最理想的索引和路徑執行查詢。

    隨著查詢執行和自動清除 Daemon 執行,Postgres 可以逐步重建統計資料。不過,在統計資料重新建構完成前,查詢可能會變慢。

    如要解決這個問題,請在主要 Postgres 節點上,對資料庫中的所有資料表執行 ANALYZE。您也可以一次對數個資料表執行 ANALYZE

    新的 Edge UI

    本節列出 Edge UI 的考量事項。詳情請參閱「適用於私人雲端的新 Edge UI」。

    安裝 Edge UI

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

    請注意,Edge UI 要求您停用基本驗證,並使用 SAML 或 LDAP 等 IDP

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

    更新 Edge UI

    如要更新 Edge UI 元件,請考慮升級所用私有雲的 Edge 版本:

    • 從 4.51.00 升級至 4.52.00 (已安裝新版 Edge UI):請參閱 本節中的升級操作說明,瞭解如何升級 edge-management-ui 元件。

    更新為 Apigee mTLS

    如要更新 Apigee mTLS,請按照下列步驟操作:

    復原更新

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

    如果作業失敗,您就必須將更新復原為先前版本,請參閱復原 4.52.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. 繼續為安裝環境中的其他機器更新。

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

    使用靜默設定檔

    您必須將靜音設定檔傳送至 update 指令。無聲設定檔應與用於安裝 Edge 4.50.00 或 4.51.00 的設定檔相同。

    在有外部網際網路連線的節點上更新至 4.52.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.51.00:

      1. 將 Edge bootstrap_4.52.00.sh 檔案下載至 /tmp/bootstrap_4.52.00.sh
        curl https://software.apigee.com/bootstrap_4.51.00.sh -o /tmp/bootstrap_4.51.00.sh
      2. 執行下列指令,安裝 Edge 4.52.00 apigee-service 公用程式和依附元件:
        sudo bash /tmp/bootstrap_4.52.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。
      3. 使用 apigee-service 更新 apigee-setup 公用程式,如以下範例所示:
        /opt/apigee/apigee-service/bin/apigee-service apigee-setup update
      4. 請更新管理伺服器上的 apigee-validate 公用程式,如以下範例所示:
        /opt/apigee/apigee-service/bin/apigee-service apigee-validate update
      5. 更新管理 Server 上的 apigee-provision 公用程式,如以下範例所示:
        /opt/apigee/apigee-service/bin/apigee-service apigee-provision update
      6. 執行下列指令,即可在節點上執行 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)
          • ue:新的 Edge UI
          • ui:Edge 傳統版 UI
          • zk:Zookeeper
        • configFile 和您在 4.50.00 或 4.51.00 安裝期間用來定義 Edge 元件的設定檔相同。

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

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

      如果您之後決定復原更新,請使用復原 4.52.00 版所述的程序。

      從本機存放區更新至 4.52.00

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

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

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

      如何從本機 4.52.00 存放區更新:

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

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

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

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

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

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

        3. 在遠端節點上安裝 Edge apigee-setup 公用程式和依附元件:
          sudo bash /tmp/bootstrap_4.52.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 除外):管理伺服器、訊息處理器、路由器、QPID 伺服器、Postgres 伺服器
          • ldap:OpenLDAP
          • ps:postgresql
          • qpid:qpidd
          • sso:Apigee 單一登入 (如果已安裝單一登入)
          • ue 新增 Edge UI
          • ui:Edge 傳統版 UI
          • zk:Zookeeper
        • configFile 與您在 4.50.00 或 4.51.00 安裝期間用來定義 Edge 元件的設定檔相同。

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

        /opt/apigee/apigee-setup/bin/update.sh -c all -f /tmp/sa_silent_config
      8. 請在執行該元件的所有節點上重新啟動 UI 元件 (如果尚未重新啟動):
        /opt/apigee/apigee-service/bin/apigee-service [edge-management-ui|edge-ui] restart
      9. 測試安裝程序所述,請在管理伺服器上執行 apigee-validate 公用程式來測試更新。

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

      機器更新順序

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

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

      1 個節點的獨立升級

      如要將 1 個節點的獨立設定升級至 4.52.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. 更新 Edge UI:
        • 傳統 UI:如果您使用傳統 UI,請更新機器 1 上的 ui 元件,如以下範例所示:
          /opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile
        • 新 Edge UI:如果您安裝了新 Edge UI,請在適當的機器 (可能不是機器 1) 上更新 ue 元件:
          /opt/apigee/apigee-setup/bin/update.sh -c ue -f /opt/silent.conf
      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. 重新啟動 UI 元件:
        • 傳統 UI:如果您使用的是傳統 UI,請在機器 1 上重新啟動 edge-ui 元件,如以下範例所示:
          /opt/apigee/apigee-service/bin/apigee-service edge-ui restart
        • 新 Edge UI:如果您已安裝新 Edge UI,請在適當的機器 (可能不是機器 1) 上重新啟動 edge-management-ui 元件:
          /opt/apigee/apigee-service/bin/apigee-service edge-management-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 (ue) 或傳統版 UI (ui):
        /opt/apigee/apigee-setup/bin/update.sh -c [ui|ue] -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. 重新啟動 UI 元件:
        • 傳統 UI:如果您使用的是傳統 UI,請在機器 1 上重新啟動 edge-ui 元件,如以下範例所示:
          /opt/apigee/apigee-service/bin/apigee-service edge-ui restart
        • 新 Edge UI:如果您已安裝新 Edge UI,請在適當的機器 (可能不是機器 1) 上重新啟動 edge-management-ui 元件:
          /opt/apigee/apigee-service/bin/apigee-service edge-management-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 (ue) 或傳統版 UI (ui):
        /opt/apigee/apigee-setup/bin/update.sh -c [ui|ue] -f configFile
      8. (如果您已安裝 apigee-adminapi) 在機器 6 和 7 上更新 apigee-adminapi 公用程式:
        /opt/apigee/apigee-service/bin/apigee-service apigee-adminapi update
      9. (如果您已安裝 Apigee 單一登入) 在機器 6 和 7 上更新 Apigee 單一登入:
        /opt/apigee/apigee-setup/bin/update.sh -c sso -f sso_config_file

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

      10. 重新啟動 UI 元件:
        • 傳統 UI:如果您使用的是傳統 UI,請在機器 6 和 7 上重新啟動 edge-ui 元件,如以下範例所示:
          /opt/apigee/apigee-service/bin/apigee-service edge-ui restart
        • 新 Edge UI:如果您已安裝新 Edge UI,請在機器 6 和 7 上重新啟動 edge-management-ui 元件:
          /opt/apigee/apigee-service/bin/apigee-service edge-management-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 (ue) 或傳統版 UI (ui):
        1. 資料中心 1 中的機器 1:
          /opt/apigee/apigee-setup/bin/update.sh -c [ui|ue] -f configFile
        2. 資料中心 2 中的機器 7:
          /opt/apigee/apigee-setup/bin/update.sh -c [ui|ue] -f configFile
      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 時建立的設定檔。

      9. 在機器 1 和 7 上重新啟動新的 Edge UI (edge-management-ui) 或 Edge 傳統 UI (edge-ui) 元件:
        /opt/apigee/apigee-service/bin/apigee-service [edge-ui|edge-management-ui] restart

      針對非標準設定

      如果您使用非標準設定,請依照下列順序更新 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 元件。