將 Apigee Edge 4.51.00 或 4.52.00 或 4.52.01 更新至 4.52.02

Apigee 支援直接將 Edge for Private Cloud 從 4.51.00、4.52.00 或 4.52.01 版升級至 4.52.02 版。本頁面說明如何執行這類升級作業。

誰可以執行更新

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

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

您必須更新哪些元件

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

更新必要條件

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

  • 備份所有節點
    為了安全起見,建議您在更新前備份所有節點。請按照目前 Edge 版本的程序執行備份作業。

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

  • 確認 Edge 是否正在執行
    請使用下列指令,確認 Edge 在更新程序期間是否已啟用並運作:
    /opt/apigee/apigee-service/bin/apigee-all status
  • 確認 Cassandra 壓縮策略為 LeveledCompactionStrategy
    視目前版本而定,對 Cassandra 壓縮策略進行必要變更。請按照下列步驟操作,然後返回主要升級程序:

升級時應考慮的特殊步驟

如要升級至 Edge for Private Cloud 4.52.02,請考慮執行特定軟體的升級步驟。必要步驟取決於您目前使用的版本。如需瞭解需要額外步驟的各種軟體,請參閱下表,並按照各項軟體的詳細操作說明進行。完成必要工作後,請返回主要升級程序,繼續升級程序。

目前版本 需要特殊步驟才能升級至 4.52.02 的軟體
4.52.01 Cassandra
4.52.00 ZookeeperCassandraQpid
4.51.00 ZookeeperPostgresCassandraQpid

根據版本執行必要步驟後,請返回主要升級程序繼續操作。

自動傳播資源設定

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

升級至 Zookeeper 3.8.3

Edge for Private Cloud 4.52.02 不包含 Zookeeper 升級。不過,如果您要從 4.52.01 以下版本升級,則必須按照下方所述的 Zookeeper 升級步驟操作。

  • 如果您要從 Edge for Private Cloud 4.51.00 或 4.52.00 版本升級,請參閱「必須升級至 Zookeeper 3.8.3」一文中的步驟升級 Zookeeper。
  • 如果您是從 Edge for Private Cloud 4.52.01 版本升級,則應已使用 Zookeeper 3.8.3 版,因此不需要採取任何特殊步驟來升級 Zookeeper。

升級至 Postgres 14

  • 如果您要從 Edge for Private Cloud 4.51.00 升級至 4.52.02,則必須按照升級 Postgres 的步驟操作,即使 Edge for Private Cloud 4.52.02 不包含 Postgres 升級功能也一樣。從 Edge for Private Cloud 4.51.00 升級至 4.52.02 需要額外的 Postgres 升級步驟。請參閱「必須升級至 Postgres 14」一節。
  • 如果您要從 Edge for Private Cloud 4.52.00 或 4.52.01 升級至 4.52.02,則不需要額外的 Postgres 升級步驟。

升級至 Cassandra 3.11.16

Apigee Edge for Private Cloud 4.52.02 包含 Cassandra 升級至 3.11.16 版的升級作業。Cassandra 是 Apigee 的重要元件,這次升級也包含各種執行階段和管理元件中的驅動程式軟體更新,這些元件可用於查詢及寫入 Cassandra。

由於這是重大升級,因此我們必須對 Cassandra 中的 Apigee 資料模型進行特定變更,才能確保新版本的最佳效能。雖然這些變更幅度不大,但升級程序會在升級時中斷特定管理 API。請參閱下文相關章節,瞭解通常會中斷的管理 API。

此外,升級程序會導致升級資料中心中大量的執行階段 Proxy 流程和管理 API 中斷。請務必將執行階段和管理流量與要升級的資料中心隔離,盡可能減少這類中斷情形。詳情請參閱下方的「單一資料中心」和「多個資料中心」章節。

開發人員入口網站 - 記錄 API

Apigee Drupal 開發人員入口網站提供各種功能,可用於說明您的 API。雖然我們建議您改用其他開發人員入口網站,但如果您仍在使用 Drupal 7 版,並利用其 SmartDocs 功能,則適用於您的文件為「 使用 SmartDocs API」。如果您使用的是較新的開發人員入口網站版本,這次升級對 API 說明文件不會造成任何影響。

將 Apigee 升級至 4.52.02 版時,使用 Drupal 7 開發人員入口網站的 SmartDocs 功能建立的任何 API 模型都不會自動遷移至新版。您必須使用開發人員入口網站手動匯出每個模型,並在完成升級後再次匯入。

以下使用的術語

執行階段:執行階段涵蓋處理執行階段 Proxy 流量。其中包含路由器和訊息處理器執行的所有作業,可有效處理現有 Proxy 的執行階段 API 要求。但不包括部署新的 Proxy 或 Proxy 的新修訂版本。

管理:管理包括管理 Apigee Edge 系統。這包括但不限於應用程式、產品、目標伺服器、金鑰存放區等的部署和修改作業。所有管理 API (以及 Apigee UI 和開發人員入口網站等用戶端) 都包含在這個範圍內。

在這個升級期間,執行更新的區域或資料中心 (DC) 中的執行階段和管理流量會受到影響。無論更新哪個資料中心,都會影響所有資料中心中的特定管理 API。每個步驟後都會註明這項影響。

在下方的每個步驟中,我們會說明升級程序的各個階段,以及執行階段和管理狀態。

升級策略

多個資料中心

升級作業必須一次執行一個資料中心,才能確保流量連續性,並避免服務中斷。升級 DC 前,請將流量重新導向至其他可用的 DC。

單一資料中心

對於單一資料中心設定,升級程序會對執行階段流量和特定管理 API 造成重大影響。單一資料中心設定可使用下列選項。

  • 將 Edge for Private 雲端叢集擴充至臨時資料中心,方法是 新增資料中心並與現有資料中心並存,以便在升級期間處理流量,然後在升級程序完成後停用其中一個資料中心。
  • 如果無法擴充至其他資料中心,請準備好停機時間,並在流量較低的期間安排升級作業,盡量減少對管理 API 和執行階段流量造成的影響。

建議您擴展至其他資料中心,以免影響執行階段流量和管理 API。升級期間,升級中資料中心的影響包括但不限於:

  • 執行階段 API 重新整理 OAuth 權杖
  • 使用存取實體政策的執行階段 API
  • 管理 API 列出開發人員應用程式
  • 列出產品的管理 API

除了上述影響之外,特定管理 API 在所有資料中心升級前,仍無法在所有資料中心正常運作。後續章節的步驟中會列出這類管理 API。

復原 - 高層級

  • 回溯期間的影響

    從 Cassandra 3.11.x 回溯至 2.1.x 會影響執行回溯作業的資料中心 (DC) 內的執行階段和管理流量。此外,無論目前正在回溯哪個資料中心,某些管理 API 可能會在所有資料中心中中斷。

  • 透過 DC 回溯方法追蹤 DC

    您必須一次執行一個資料中心的回溯作業,才能維持服務的連續性,並避免服務中斷。在特定 DC 中啟動回溯程序前,請先確認應用程式流量已重新路由至其他運作正常的資料中心。

  • 復原部分升級的叢集

    如果至少有一個資料中心在舊版 Cassandra (2.1.22) 上仍可正常運作,則可以從正常運作的 Cassandra 2.1.X DC 執行重建作業,藉此回溯其他已升級的 DC。

  • 叢集全域回溯

    如果整個 Cassandra 叢集已升級,且需要回溯,則必須使用備份或 VM 快照執行回溯作業。這種方法很複雜,而且可能會導致暫時性停機或資料遺失。

  • 升級前注意事項

    請務必先熟悉回溯程序,再嘗試升級。在升級時,請務必考量回溯的細微差異,以確保可使用適當的回溯路徑。

針對單一資料中心的叢集進行回溯

將 Cassandra 從 2.1.x 版升級至 3.11.x 版,可能會對執行階段流量和特定管理 API 造成重大影響。這些影響也適用於回溯期間,可能會導致停機或資料遺失。

對於正式環境工作負載,強烈建議您在升級前佈建新的資料中心。這樣一來,您就能在不損失資料或中斷 API 流量的情況下,採用更安全的回溯路徑。升級完成後,您可以停用額外的資料中心。

如果無法新增新的資料中心,但仍需要回溯功能,請務必在升級前備份可靠的資料。您可以從備份還原 Cassandra 2.1.x,但這可能會導致服務停機和資料遺失。

回退含有多個資料中心的叢集

回復多個資料中心時,系統會依照「資料中心逐一回復」(DC-by-DC) 方法進行。在這種做法中,來自資料中心的流量會重新導向至其他運作中的資料中心,確保 Cassandra管理伺服器執行階段節點的回溯程序受到控且隔離,以免流量中斷。

詳情請參閱「回復 Cassandra 3.11.16」更新。

步驟 0:啟動狀態

  • Zookeeper、Postgres 和 LDAP 元件已升級至 4.52.02 版。私有雲叢集的 Edge 穩定且正常運作。如果需要回溯,叢集就會回溯至這個狀態。
  • Apigee 中的 Cassandra 使用 2.1.22 版。
  • Edge 元件:
    • 管理伺服器透過舊版 Thrift 通訊協定與 Cassandra 通訊。
    • 透過舊版 Thrift 通訊協定,與 Cassandra 通訊的執行階段伺服器 (訊息處理器和路由器)。
這個階段的執行階段狀態 這個階段的管理狀態
執行階段完全正常運作 管理功能完全正常運作

步驟 1:準備升級

除了您通常會建立的標準檔案之外,您還需要執行以下步驟,例如啟用元件升級功能的 Apigee 標準設定檔

  1. 變更 Cassandra 以使用 LeveledCompactionStrategy。
  2. 使用 Apigee 備份 Cassandra。
  3. 拍攝 Cassandra 節點的 VM 快照 (如可行)。
  4. /opt/apigee/apigee-cassandra/cass_upgrade.conf 的每個 Cassandra 節點上,建立 Cassandra 升級設定檔,內容如下:
    # IP Address of node
    HOSTIP=10.0.0.1
    
    # Username for running Cassandra queries. Optional. Can be skipped if you have not enabled Cassandra authentication.
    CASS_USERNAME=<cassuser>
    
    # Password for running Cassandra queries. Optional. Can be skipped if you have not enabled Cassandra authentication.
    CASS_PASSWORD=<casspass>
    
    # Port for connecting to Cassandra via thrift. Optional. Defaults to 9160 if skipped.
    CASS_PORT=9160
    
    # Port for connecting to Cassandra via CQL. Optional. Defaults to 9042 if skipped.
    CASS_CQL_PORT=9042
    
    # Directory to be used by Cassandra upgrade scripts. Optional. Defaults to /tmp/cass_upgrade_scripts if skipped.
    # Note that if upgrade is successful, this directory is deleted via root user - so provide a directory accordingly.
    CASS_TMP_DIR=/tmp/cass_upgrade_scripts
        
    如果無法在 /opt/apigee/apigee-cassandra/cass_upgrade.conf 建立檔案,請在每個 Cassandra 節點上建立含有相同內容的檔案 /opt/silent.conf
  5. 如果您使用 Apigee Drupal 7 開發人員入口網站的 SmartDocs 功能,請從開發人員入口網站 UI 以 JSON 格式下載每個模型,匯出這些模型。管理伺服器更新後,這些模型必須匯入 Apigee。
  6. 請確認所有 Edge 元件都能存取 9160 和 9042 通訊埠 (如果尚未存在),詳情請參閱「連接埠規定」。

步驟 2:將流量重新導向,避免流向第一個資料中心

  1. 封鎖來自第一個資料中心的執行階段和管理流量。
  2. 將所有執行階段流量和管理 API 重新導向至其他運作中的資料中心。
  3. 驗證其他 DC 是否成功處理執行階段和管理流量。

步驟 3:升級第一個資料中心中的所有 Cassandra 節點

  1. 逐一升級資料中心中的所有 Cassandra 節點。請逐一在每個節點上執行下列指令:
    /opt/apigee/apigee-setup/bin/update.sh -c cs -f configFile
  2. 更新節點後,請在節點上執行下列指令,執行一些驗證程序,再繼續進行:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra validate_upgrade -f configFile
    上述內容會輸出類似以下的內容:
    Cassandra version is verified - [cqlsh 5.0.1 | Cassandra 3.11.16 | CQL spec 3.4.4 | Native protocol v3] Metadata is verified
  3. 升級完成後,請逐一對每個 Cassandra 節點執行下列 post_upgrade 指令:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra post_upgrade
這個階段的執行階段狀態 這個階段的管理狀態
  • 在升級資料中心時,執行階段流量遭到封鎖
  • 在其他資料中心中完全正常執行

步驟 4:升級第一個資料中心中的所有管理節點

升級資料中心中的所有管理節點:

/opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
這個階段的執行階段狀態 這個階段的管理狀態
  • 在升級資料中心時,執行階段流量遭到封鎖
  • 執行階段完全正常運作

步驟 5:升級第一個資料中心中的所有執行階段節點

逐一升級資料中心中的所有 Router 和 Message Processor 節點:

/opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
這個階段的執行階段狀態 這個階段的管理狀態
  • 在升級資料中心時,執行階段流量遭到封鎖
  • 在其他資料中心中完全正常執行

步驟 6:將流量重新導向至第一個資料中心

  • 第一個資料中心升級至 Cassandra、執行階段元件和管理伺服器後,請重新啟用第一個資料中心的執行階段和管理流量。
  • 確保在各個 DC 中,執行階段和管理流量都能順利傳送。

步驟 7:升級其他資料中心

針對剩餘的資料中心,重複執行步驟 1步驟 6,逐一將流量重新導向至其他資料中心、更新 Apigee 軟體,並重新啟用這些資料中心的流量。

步驟 8:在所有管理節點中重新執行升級步驟

在所有資料中心的所有管理節點中,重新執行下列升級指令:

/opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile

步驟 9 - [選用] 匯入先前匯出的 SmartDocs

所有管理伺服器升級完成後,您就可以匯入在步驟 1 中匯出的智慧文件模型。您可以稍後再進行這項操作。

只有在您使用以 Drupal 7 為基礎的開發人員入口網站,且使用 SmartDocs 功能時,才需要執行這項操作。

這個階段的執行階段狀態 這個階段的管理狀態
執行階段完全正常運作 管理功能完全正常運作

步驟 10 - 刪除未使用的資料表

執行下列指令,從 Cassandra 叢集中刪除舊的未使用表格。在執行這項作業之前,您無法使用 Cassandra 的特定功能 (例如設定新的驗證機制 - 舊的驗證機制仍會繼續運作)。這個指令只能在叢集中的一個節點上執行

/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra drop_old_tables -f configFile

步驟 11 - 升級 Private Cloud 4.52.02 的所有 Edge 和其他元件

逐一升級所有區域中剩餘的 edge-qpid-serveredge-postgres-server 節點。

在這個階段,如果您要從 Edge for Private Cloud 4.52.01 以下版本升級,請按照以下步驟分別升級 QpidPostgres,並按照這些步驟升級其他元件。

升級至 Qpid J-Broker

雖然 Edge for Private Cloud 4.52.02 不包含升級至 Qpid 的功能,但如果您要從 4.52.01 以下版本升級,就必須按照升級 QPID 的步驟操作。

  • 如果您要從 Edge for Private Cloud 4.51.00 或 4.52.00 升級至 4.52.02,則必須遵循額外的 Qpid 升級步驟。如果您要從 4.51.00 或 4.52.00 升級至 4.52.02,請參閱「升級 Qpid」一節。
  • 如果您要從 Edge for Private Cloud 4.52.01 升級至 4.52.02,則應已使用最新版的 Qpid Broker,因此不需要額外的 Qpid 升級步驟。

新版 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 for Private Cloud 升級:

更新為 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

如果您沒有 /tmp 的存取權,update.sh 公用程式就會失敗。

零停機更新

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

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

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

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

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

使用靜默設定檔

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

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

請按照下列程序更新節點上的 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.02.sh 檔案下載至 /tmp/bootstrap_4.52.02.sh
      curl https://software.apigee.com/bootstrap_4.52.02.sh -o /tmp/bootstrap_4.52.02.sh
    2. 執行下列指令,安裝 Edge 4.52.02 apigee-service 公用程式和依附元件:
      sudo bash /tmp/bootstrap_4.52.02.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. 請更新管理伺服器上的 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 的所有節點上重新啟動 Edge UI 元件,請按照下列步驟操作:
      /opt/apigee/apigee-service/bin/apigee-service [edge-management-ui|edge-ui] restart
    8. 測試安裝程序所述,請在管理伺服器上執行 apigee-validate 公用程式來測試更新。

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

從本機存放區更新至 4.52.02

如果 Edge 節點位於防火牆後方,或無法透過網際網路存取 Apigee 存放區,您可以從本機存放區或 Apigee 存放區的鏡像執行更新。#heading

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

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

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

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

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

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

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

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

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

    3. 在遠端節點上安裝 Edge apigee-setup 公用程式和依附元件:
      sudo bash /tmp/bootstrap_4.52.02.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 單一登入 (如果您已安裝 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 /tmp/sa_silent_config
  8. 如果尚未重新啟動,請在執行 UI 的所有節點上重新啟動 UI 元件:
    /opt/apigee/apigee-service/bin/apigee-service [edge-management-ui|edge-ui] restart
  9. 測試安裝程序所述,請在管理伺服器上執行 apigee-validate 公用程式來測試更新。

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

機器更新順序 - 從 4.51.00 (或) 4.52.00 (或) 4.52.01 升級

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

  • 您必須先更新所有資料中心的所有 ZooKeeper 節點,才能升級所有其他元件。如果您是從 Edge Private Cloud 4.51.00 (或) 4.52.00 升級,則還需要按照額外步驟升級 zookeeper
  • 您必須在所有資料中心更新 Postgresql。如果您要從 Edge Private Cloud 4.51.00 升級,還必須按照額外步驟升級 postgres
  • 您必須更新所有資料中心的 LDAP 節點。
  • 您必須一次更新一個資料中心,更新所有 Cassandra、管理伺服器、訊息處理器和路由器節點,直到所有資料中心都升級完成。
  • 您必須更新所有資料中心的 edge-qpid-serveredge-postgres-server 元件。
  • 您必須在所有資料中心升級 Qpid 節點。如果您要從 Edge Private Cloud 4.51.00 (或) 4.52.00 升級,還需要按照額外步驟升級 Qpid
  • 更新 Edge UI 和 New Edge UI、所有資料中心的 SSO 節點。
  • 你不需要另外採取任何步驟來更新營利功能。您指定 -c edge 選項時,系統會更新此值。

1 個節點的獨立升級

如何將 1 個節點的獨立設定升級至 4.52.02:
  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 上更新 Zookeeper:
    /opt/apigee/apigee-setup/bin/update.sh -c zk -f configFile
  2. 更新機器 2 上的 Postgres:
    /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
  3. 更新機器 1 上的 LDAP:
    /opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile
  4. 更新機器 1 上的 Cassandra:
    /opt/apigee/apigee-setup/bin/update.sh -c cs -f configFile
  5. 更新機器 1 和 2 的 Edge 元件:
    /opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
  6. 在機器 2 上更新 Qpid:
    /opt/apigee/apigee-setup/bin/update.sh -c qpid -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

5 節點升級

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

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

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

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

  12. 重新啟動 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 上更新 ZooKeeper:
    /opt/apigee/apigee-setup/bin/update.sh -c zk -f configFile
  2. 更新機器 8 上的 Postgres:
    /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
  3. 更新機器 9 上的 Postgres:
    /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
  4. 更新機器 1 上的 LDAP:
    /opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile
  5. 在機器 1、2 和 3 上更新 Cassandra:
    /opt/apigee/apigee-setup/bin/update.sh -c cs -f configFile
  6. 依序更新機器 1、4、5、6、7、8 和 9 的 Edge 元件:
    /opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
  7. 更新機器 6 和 7 的 Qpid:
    /opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile
  8. 在機器 1 上更新新版 UI (ue) 或傳統版 UI (ui):
    /opt/apigee/apigee-setup/bin/update.sh -c [ui|ue] -f configFile
  9. (如果您已安裝 apigee-adminapi) 更新機器 1 上的 apigee-adminapi 公用程式:
    /opt/apigee/apigee-service/bin/apigee-service apigee-adminapi update
  10. (如果您安裝了 Apigee SSO) 在機器 1 上更新 Apigee SSO:
    /opt/apigee/apigee-setup/bin/update.sh -c sso -f sso_config_file

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

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

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

  11. 重新啟動 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. 在兩個 DC 的機器 1、2、3、7、8、9 上更新 ZooKeeper:

    /opt/apigee/apigee-setup/bin/update.sh -c zk -f configFile
  2. 更新兩個 DC 中機器 6、12 的 Postgres:
    /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
  3. 在兩個 DC 的機器 1 和 7 上更新 LDAP:
    /opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile
  4. 封鎖 DC-1 中的流量,並確保所有流量都重新導向至其他 DC-2

  5. 更新 DC-1 中機器 1、2、3 的 Cassandra:
    /opt/apigee/apigee-setup/bin/update.sh -c cs -f configFile
  6. 更新 DC-1 中機器 1 的管理伺服器:
    /opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
  7. 更新 DC-1 中機器 2、3 的路由器、訊息處理器:
    /opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
  8. 解除 DC-1 的流量封鎖,並驗證 DC-1,然後封鎖 DC-2 的流量並將流量重新導向至 DC-1
  9. 更新 DC-2 中機器 7、8、9 上的 Cassandra:
    /opt/apigee/apigee-setup/bin/update.sh -c cs -f configFile
  10. 更新 DC-2 中機器 7 的管理伺服器:
    /opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
  11. 更新 DC-2 中機器 8、9 的路由器、訊息處理器:
    /opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
  12. 解除 DC-2 中的流量封鎖,現在兩個 DC 都會處理流量
  13. 在機器 1 和 7 的所有管理伺服器上重新執行更新指令:
    /opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
  14. 在兩個 DC 的機器 4、5、6、10、11、12 上更新 edge-qpid-server 和 edge-postgres-server:
    /opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
  15. 在兩個 DC 的機器 4、5、10、11 上更新 Qpid:
    /opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile
  16. 在兩個 DC 中更新新版 UI (ue) 或傳統版 UI (ui):
    /opt/apigee/apigee-setup/bin/update.sh -c  [ui|ue] -f configFile
  17. (如果您已安裝 apigee-adminapi) 請更新兩個 DC 中的 apigee-adminapi:
    /opt/apigee/apigee-service/bin/apigee-service apigee-adminapi update
  18. (如果您已安裝 Apigee SSO) 請更新兩個 DC 中的 Apigee SSO 節點:
    /opt/apigee/apigee-setup/bin/update.sh -c sso -f configFile
  19. 在兩個 DC 中重新啟動新的 Edge UI (edge-management-ui) 或傳統 Edge UI (edge-ui) 元件:
    /opt/apigee/apigee-service/bin/apigee-service [edge-ui|edge-management-ui] restart