Apigee 支援直接從 4.51.00、4.52.00 或 4.52.01 版升級 Edge for Private Cloud 至 4.52.02 版。本頁說明如何執行這類升級。
誰可以執行更新
執行更新的使用者應與原先安裝 Edge 的使用者相同,或以 root 身分執行。
安裝 Edge RPM 後,任何人都可以進行設定。
必須更新哪些元件
您必須更新所有 Edge 元件。Edge 不支援包含多個版本元件的設定。
更新必要條件
升級 Apigee Edge 前,請確認符合下列先決條件:
- 備份所有節點
為安全起見,建議您在更新前完整備份所有節點。請按照目前 Edge 版本的程序執行備份。這樣一來,如果更新至新版本後無法正常運作,您還有備用方案。如要進一步瞭解備份,請參閱「備份與還原」。
- 確保 Edge 正在執行
在更新程序中,請使用下列指令確保 Edge 正常運作:/opt/apigee/apigee-service/bin/apigee-all status
- 確認 Cassandra 壓縮策略為
LeveledCompactionStrategy
視目前版本而定,對 Cassandra 壓縮策略進行必要變更。請按照下列步驟操作,然後返回主要升級程序:- 如果您是從 4.51.00 版升級,請參閱 4.51.00 版的 Cassandra 壓縮策略文件。
- 如果您是從 4.52.00 版升級,請參閱 4.52.00 版的 Cassandra 壓縮策略文件。
- 如果您是從 4.52.01 版升級,請參閱 4.52.01 版的 Cassandra 壓縮策略文件。
升級時應考量的特殊步驟
如要升級至 Edge for Private Cloud 4.52.02,請考慮執行特定步驟來升級特定軟體。所需步驟取決於您目前的版本。請參閱下表,瞭解需要額外步驟的各種軟體,並按照各軟體的詳細操作說明進行。完成必要工作後,請返回主要升級程序,繼續升級。
| 目前版本 | 需要特殊步驟才能升級至 4.52.02 的軟體 |
|---|---|
| 4.52.01 | Cassandra |
| 4.52.00 | Zookeeper、Cassandra、Qpid |
| 4.51.00 | Zookeeper、Postgres、Cassandra、Qpid |
根據您的版本執行必要步驟後,請返回主要升級程序繼續操作。
自動套用資源設定
如果您曾透過編輯 /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 資料模型進行某些變更,確保新版本能發揮最佳效能。雖然這些變更幅度很小,但升級程序啟動時,會中斷特定 Management API。一般會中斷的 Management API 列在下方相關章節。
此外,升級程序會中斷升級中資料中心內較大範圍的執行階段 Proxy 流程和 Management 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 系統的管理。包括但不限於部署作業、修改應用程式、產品、目標伺服器、KeyStore 等。所有 Management API (及其用戶端,例如 Apigee UI 和開發人員入口網站) 都包含在這個範圍內。
升級期間,執行更新的區域或資料中心 (DC) 內,執行階段和管理流量會受到影響。無論更新哪個資料中心,所有資料中心的特定 Management API 都會受到影響。每個步驟後都會註明這項影響。
在下列各步驟中,我們會說明升級程序各階段的執行階段和管理狀態。
升級策略
多個資料中心
升級作業必須一次在一個資料中心執行,確保流量不中斷,並避免停機。升級 DC 前,應將流量重新導向至其他正常運作的 DC。
單一資料中心
如果是單一資料中心設定,升級程序會對執行階段流量和特定 Management API 造成重大影響。單一資料中心設定可使用下列選項。
- 新增資料中心,與現有資料中心並存,將 Edge for Private Cloud 叢集擴充至臨時資料中心,以便在升級期間處理流量,然後在升級程序完成後停用其中一個資料中心。
- 如果無法擴充至其他資料中心,請做好停機準備,並在流量較低時安排升級,盡可能減少對 Management API 和執行階段流量的影響。
建議您擴充至其他資料中心,以免影響執行階段流量和 Management API。升級期間,資料中心受到的影響包括但不限於下列項目:
- Runtime API 正在更新 OAuth 權杖
- 使用存取實體政策的執行階段 API
- 列出開發人員應用程式的 Management API
- 列出產品的 Management API
除了上述影響外,在所有資料中心升級完成前,特定 Management API 在所有資料中心仍無法運作。後續章節的步驟會列出這類 Management API。
復原 - 概略流程
- 復原期間的影響
從 Cassandra 3.11.x 復原至 2.1.x,會影響執行復原作業的資料中心 (DC) 內的執行階段和管理流量。此外,無論目前復原的是哪個資料中心,某些管理 API 在所有資料中心都可能中斷。
- Follow DC by DC Rollback Approach
復原作業必須一次在一個資料中心執行,以維持服務連續性並避免停機。在特定資料中心啟動復原作業前,請務必將應用程式流量重新導向至另一個完全運作的資料中心。
- 復原部分升級的叢集
如果至少有一個資料中心仍在使用舊版 Cassandra (2.1.22) 且完全正常運作,則可從功能完整的 Cassandra 2.1.X DC 執行重建,復原其他已升級的 DC。
- 整個叢集復原
如果整個 Cassandra 叢集已升級,且需要復原,則必須使用備份或 VM 快照執行復原。這種做法很複雜,可能導致暫時停機或資料遺失。
- 升級前注意事項
請務必先熟悉復原程序,再嘗試升級。升級時,請務必考量復原作業的細微差異,確保有適當的復原路徑。
復原單一資料中心的叢集
將 Cassandra 從 2.1.x 版升級至 3.11.x 版,可能會對執行階段流量和特定 Management API 造成重大影響。復原期間也會受到這些影響,可能導致停機或資料遺失。
如果是正式環境工作負載,強烈建議您在升級前佈建新的資料中心。這樣一來,您就能安全地復原,不會發生資料遺失或中斷 API 流量。升級作業順利完成後,即可停用額外的資料中心。
如果無法新增資料中心,但仍需要復原功能,請務必在升級前建立可靠的備份。您可以從備份還原 Cassandra 2.1.x,但這種做法可能會導致服務停機,以及資料遺失。
復原有多個資料中心的叢集
復原多個資料中心時,會逐一進行。這種做法會將復原中資料中心的流量,重新導向至其他正常運作的資料中心,確保 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 標準設定檔) 之外,您還需要執行下列步驟。
- 將 Cassandra 變更為使用 LeveledCompactionStrategy。
- 使用 Apigee 備份 Cassandra。
- 建立 Cassandra 節點的 VM 快照 (如果可行)。
-
在每個 Cassandra 節點的
/opt/apigee/apigee-cassandra/cass_upgrade.conf建立 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檔案。 - 如果您使用 Apigee Drupal 7 開發人員入口網站的 SmartDocs 功能,請從開發人員入口網站使用者介面下載 JSON 格式的模型,匯出每個模型。管理伺服器更新後,您必須將這些模型重新匯入 Apigee。
- 確認所有 Edge 元件都能存取 Cassandra 節點的通訊埠 9160 和 9042 (如果尚未設定)。詳情請參閱通訊埠規定。
步驟 2:將流量從第一個資料中心重新導向
- 封鎖來自第一個資料中心的傳入執行階段和管理流量。
- 將所有執行階段流量和 Management API 重新導向至其他正常運作的資料中心。
- 確認執行階段和管理流量是否由其他 DC 成功處理。
步驟 3:升級第一個資料中心的所有 Cassandra 節點
-
逐一升級資料中心內的所有 Cassandra 節點。在每個節點上依序執行下列指令:
/opt/apigee/apigee-setup/bin/update.sh -c cs -f configFile
-
更新節點後,請在節點上執行下列指令,先進行一些驗證再繼續操作:
上述指令會輸出類似以下的內容:/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
- 升級完成後,在每個 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:升級第一個資料中心的所有執行階段節點
逐一升級資料中心內的所有路由器和訊息處理器節點:
/opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
| 這個階段的執行階段狀態 | 這個階段的管理狀態 |
|---|---|
|
|
步驟 6:將流量重新導向回第一個資料中心
- 使用 Cassandra、執行階段元件和管理伺服器升級第一個資料中心後,請重新啟用第一個資料中心的執行階段和管理流量。
- 確保執行階段和管理流量在資料中心之間順利傳輸。
步驟 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-server 和 edge-postgres-server 節點。
在這個階段,如果您是從 Edge for Private Cloud 4.52.01 之前的版本升級,請按照下列步驟分別升級 Qpid、Postgres,並按照這些步驟升級其餘元件。
升級至 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 for 私有雲」。
安裝 Edge UI
完成初始安裝後,Apigee 建議您安裝 Edge UI,這是 Apigee Edge for Private Cloud 開發人員和管理員專用的強化使用者介面。
請注意,Edge UI 要求您停用基本驗證,並使用 SAML 或 LDAP 等 IDP。
詳情請參閱「安裝新版 Edge UI」。
更新 Edge UI
如要更新 Edge UI 元件,請考量您要升級的 Edge for 私有雲 版本:
- 從 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。
如果您無法存取 /tmp,update.sh 公用程式就會失敗。
零停機更新
不停機更新 (或滾動式更新) 可讓您更新 Edge 安裝,而不必關閉 Edge。
只有 5 個節點以上的設定,才能進行零停機時間更新。
如要進行零停機時間升級,關鍵在於從負載平衡器中逐一移除各個路由器。接著,更新路由器和與路由器位於同一部機器上的任何其他元件,然後將路由器重新加入負載平衡器。
- 請按照「機器更新順序」一節所述,依正確順序更新安裝作業中的機器。
- 如要更新路由器,請選取任一路由器,並將其設為無法連線,如「啟用/停用伺服器 (訊息處理器/路由器) 可連線狀態」一文所述。
- 更新所選路由器,以及與路由器位於同一部機器上的所有其他 Edge 元件。 所有 Edge 設定都會在同一個節點上顯示路由器和訊息處理器。
- 讓路由器恢復連線。
- 對其餘路由器重複步驟 2 到 4。
- 繼續更新安裝作業中的其餘機器。
更新前後請留意下列事項:
- 在合併的路由器和訊息處理器節點上:
- 更新前:請執行下列操作:
- 讓路由器無法連線。
- 讓訊息處理器無法連線。
- 更新後,請執行下列操作:
- 讓訊息處理器可供連線。
- 讓路由器可供連線。
- 更新前:請執行下列操作:
- 在單一路由器節點上:
- 在單一訊息處理器節點上:
- 更新前,請將訊息處理器設為無法連線。
- 更新後,請讓訊息處理器可供連線。
使用無訊息安裝設定檔
您必須將無訊息安裝設定檔傳遞至更新指令。無訊息安裝設定檔應與您用來安裝 Edge 4.50.00 或 4.51.00 的檔案相同。
在具備外部網際網路連線的節點上更新至 4.52.02
請按照下列程序更新節點上的 Edge 元件:
- 如有任何
cron工作設定為對 Cassandra 執行修復作業,請先停用,直到更新完成。 - 以 root 身分登入節點,安裝 Edge RPM。
- 安裝
yum-utils和yum-plugin-priorities:sudo yum install yum-utils
sudo yum install yum-plugin-priorities - 按照「安裝 Edge apigee-setup 公用程式」一文中的說明停用 SELinux。
- 如果是在 Oracle 7.x 上安裝,請執行下列指令:
sudo yum-config-manager --enable ol7_optional_latest
- 如果是在 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 如果您目前使用的是 Edge 4.51.00:
- 將 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
- 執行下列指令,安裝 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。
- 使用
apigee-service更新apigee-setup公用程式,如以下範例所示:/opt/apigee/apigee-service/bin/apigee-service apigee-setup update
- 更新管理伺服器上的
apigee-validate公用程式,如以下範例所示:/opt/apigee/apigee-service/bin/apigee-service apigee-validate update
- 更新管理伺服器上的
apigee-provision公用程式,如以下範例所示:/opt/apigee/apigee-service/bin/apigee-service apigee-provision update
- 執行下列指令,在節點上執行
update公用程式:/opt/apigee/apigee-setup/bin/update.sh -c component -f configFile
請按照「機器更新順序」一節所述的順序執行這項操作。
其中:
- component 是要更新的 Edge 元件。可能的值包括:
cs:Cassandraedge:Edge UI 以外的所有 Edge 元件:管理伺服器、訊息處理器、路由器、Qpid 伺服器、Postgres 伺服器ldap:OpenLDAPps:postgresqlqpid:qpiddsso:Apigee SSO (如果已安裝 SSO)ue:新版 Edge UIui:傳統版 Edge UIzk:Zookeeper
- configFile 是您在安裝 4.50.00 或 4.51.00 版時,用來定義 Edge 元件的設定檔。
您可以將 component 設為「all」,對所有元件執行
update.sh,但前提是您必須具備 Edge all-in-one (AIO) 安裝設定檔。例如:/opt/apigee/apigee-setup/bin/update.sh -c all -f ./sa_silent_config
- component 是要更新的 Edge 元件。可能的值包括:
- 在所有執行 Edge UI 元件的節點上重新啟動這些元件 (如果尚未這麼做):
/opt/apigee/apigee-service/bin/apigee-service [edge-management-ui|edge-ui] restart
- 如要測試更新,請在管理伺服器上執行
apigee-validate公用程式,詳情請參閱「測試安裝」。
- 將 Edge
如果日後決定復原更新,請按照「復原 4.52.02」一節所述的程序操作。
從本機存放區更新至 4.52.02
如果 Edge 節點位於防火牆後方,或因其他原因無法透過網際網路存取 Apigee 存放區,您可以從本機存放區或 Apigee 存放區的鏡像執行更新。#heading
建立本機 Edge 存放區後,您可以選擇下列兩種方式,從本機存放區更新 Edge:
- 建立存放區的 .tar 檔案,將 .tar 檔案複製到節點,然後從 .tar 檔案更新 Edge。
- 在本機存放區的節點上安裝網路伺服器,讓其他節點可以存取。 Apigee 提供 Nginx 網路伺服器供您使用,您也可以使用自己的網路伺服器。
如要從本機 4.52.02 存放區更新:
- 按照「安裝 Edge apigee-setup 公用程式」中的「建立本機 Apigee 存放區」一節所述,建立本機 4.52.02 存放區。
- 如要從 .tar 檔案安裝 apigee-service:
- 在本機存放區所在的節點上,使用下列指令將本機存放區封裝成名為
/opt/apigee/data/apigee-mirror/apigee-4.52.02.tar.gz的單一 .tar 檔案:/opt/apigee/apigee-service/bin/apigee-service apigee-mirror package
- 將 .tar 檔案複製到要更新 Edge 的節點。例如,將其複製到新節點上的
/tmp目錄。 - 在新節點上,將檔案解壓縮至
/tmp目錄:tar -xzf apigee-4.52.02.tar.gz
這個指令會在包含 .tar 檔案的目錄中,建立名為
repos的新目錄。例如/tmp/repos。 - 從
/tmp/repos安裝 Edgeapigee-service公用程式和依附元件:sudo bash /tmp/repos/bootstrap_4.52.02.sh apigeeprotocol="file://" apigeerepobasepath=/tmp/repos
請注意,您在這個指令中加入了 repos 目錄的路徑。
- 在本機存放區所在的節點上,使用下列指令將本機存放區封裝成名為
- 如要使用 Nginx 網路伺服器安裝 apigee-service:
- 按照「安裝 Edge apigee-setup 公用程式」一文中的「使用 Nginx 網路伺服器從存放區安裝」一節所述,設定 Nginx 網路伺服器。
- 在遠端節點上,將 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 名稱。
- 在遠端節點上,安裝 Edge
apigee-setup公用程式和依附元件:sudo bash /tmp/bootstrap_4.52.02.sh apigeerepohost=remoteRepo:3939 apigeeuser=uName apigeepassword=pWord apigeeprotocol=http://
其中 uName:pWord 是存放區使用者名稱和密碼。
- 使用
apigee-service更新apigee-setup公用程式,如以下範例所示:/opt/apigee/apigee-service/bin/apigee-service apigee-setup update
- 更新管理伺服器上的
apigee-validate公用程式,如以下範例所示:/opt/apigee/apigee-service/bin/apigee-service apigee-validate update
- 更新管理伺服器上的
apigee-provision公用程式,如以下範例所示:/opt/apigee/apigee-service/bin/apigee-service apigee-provision update
- 按照「機器更新順序」一節所述的順序,在節點上執行
update公用程式:/opt/apigee/apigee-setup/bin/update.sh -c component -f configFile
其中:
- component 是要更新的 Edge 元件。您通常會更新下列元件:
cs:Cassandraedge:Edge UI 以外的所有 Edge 元件:管理伺服器、訊息處理器、路由器、Qpid 伺服器、Postgres 伺服器ldap:OpenLDAPps:postgresqlqpid:qpiddsso:Apigee SSO (如果已安裝 SSO)ue新版 Edge UIui:傳統版 Edge UIzk:Zookeeper
- configFile 是您在 4.50.00 或 4.51.00 安裝期間,用來定義 Edge 元件的設定檔。
您可以將 component 設為「all」,對所有元件執行
update.sh,但前提是您必須具備 Edge all-in-one (AIO) 安裝設定檔。例如:/opt/apigee/apigee-setup/bin/update.sh -c all -f /tmp/sa_silent_config
- component 是要更新的 Edge 元件。您通常會更新下列元件:
- 在所有執行 UI 元件的節點上重新啟動 UI 元件 (如果尚未這麼做):
/opt/apigee/apigee-service/bin/apigee-service [edge-management-ui|edge-ui] restart
- 如要測試更新,請在管理伺服器上執行
apigee-validate公用程式,詳情請參閱「測試安裝」。
如果日後決定復原更新,請按照「復原 4.52.02」一節所述的程序操作。
機器更新順序 - 從 4.51.00 (或) 4.52.00 (或) 4.52.01 升級
更新 Edge 安裝作業中的機器時,順序很重要:
- 您必須先更新所有資料中心的 ZooKeeper 節點,才能升級其他元件。如果您是從 Edge 私有雲 4.51.00 (或) 4.52.00 升級,則還需要按照額外步驟升級 zookeeper。
- 您必須在所有資料中心更新 PostgreSQL。如果您是從 Edge 私有雲 4.51.00 升級,則還需要按照額外步驟升級 postgres。
- 您必須更新所有資料中心的 LDAP 節點。
- 您必須逐一更新資料中心的所有 Cassandra、Management Server、訊息處理器和 Router 節點,直到所有資料中心都升級完畢。
- 您必須更新所有資料中心的
edge-qpid-server和edge-postgres-server元件。 - 您必須升級所有資料中心的 Qpid 節點。如果您是從 Edge 私有雲 4.51.00 (或) 4.52.00 升級,則還需要按照額外步驟升級 Qpid。
- 更新所有資料中心的 Edge UI、新版 Edge UI 和單一登入 (SSO) 節點。
- 更新營利功能時,不需要執行其他步驟。指定 -c edge 選項時,系統會更新這個檔案。
1 節點獨立升級授權
如要將 1 節點獨立設定升級至 4.52.02:- 更新所有元件:
/opt/apigee/apigee-setup/bin/update.sh -c all -f configFile
- (如果您已安裝
apigee-adminapi) 更新apigee-adminapi公用程式:/opt/apigee/apigee-service/bin/apigee-service apigee-adminapi update
2 節點獨立升級授權
更新下列元件,以便進行 2 節點獨立安裝:
如需 Edge 拓撲和節點編號清單,請參閱「安裝拓撲」。
- 在機器 1 上更新 Zookeeper:
/opt/apigee/apigee-setup/bin/update.sh -c zk -f configFile
- 更新機器 2 上的 Postgres:
/opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
- 在機器 1 上更新 LDAP:
/opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile
- 在機器 1 上更新 Cassandra:
/opt/apigee/apigee-setup/bin/update.sh -c cs -f configFile
- 更新機器 1 和 2 上的 Edge 元件:
/opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
- 更新機器 2 上的 Qpid:
/opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile
- 更新機器 1 的 UI:
/opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile
- (如果您已安裝
apigee-adminapi) 更新機器 1 上的apigee-adminapi公用程式:/opt/apigee/apigee-service/bin/apigee-service apigee-adminapi update
- (如果您已安裝 Apigee SSO) 在機器 1 上更新 Apigee SSO:
/opt/apigee/apigee-setup/bin/update.sh -c sso -f sso_config_file
其中 sso_config_file 是您在安裝 SSO 時建立的設定檔。
- 在機器 1 上重新啟動 Edge UI 元件:
/opt/apigee/apigee-service/bin/apigee-service edge-ui restart
5 節點升級
更新下列元件,以便安裝 5 個節點:
如需 Edge 拓撲和節點編號清單,請參閱「安裝拓撲」。
- 在機器 1、2 和 3 上更新 ZooKeeper:
/opt/apigee/apigee-setup/bin/update.sh -c zk -f configFile
- 更新機器 4 上的 Postgres:
/opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
- 更新機器 5 上的 Postgres:
/opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
- 在機器 1 上更新 LDAP:
/opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile
- 在機器 1、2 和 3 上更新 Cassandra:
/opt/apigee/apigee-setup/bin/update.sh -c cs -f configFile
- 更新機器 1、2、3、4、5 上的 Edge 元件:
/opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
- 更新機器 4 上的 Qpid:
/opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile
- 更新機器 5 上的 Qpid:
/opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile
- 更新 Edge UI:
- 傳統版 UI:如果您使用的是傳統版 UI,請更新機器 1 上的
ui元件,如下例所示:/opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile
- 新版 Edge UI:如果您已安裝新版 Edge UI,請在適當的機器上更新
ue元件 (可能不是機器 1):/opt/apigee/apigee-setup/bin/update.sh -c ue -f /opt/silent.conf
- 傳統版 UI:如果您使用的是傳統版 UI,請更新機器 1 上的
- (如果您已安裝
apigee-adminapi) 更新機器 1 上的apigee-adminapi公用程式:/opt/apigee/apigee-service/bin/apigee-service apigee-adminapi update
- (如果您已安裝 Apigee SSO) 在機器 1 上更新 Apigee SSO:
/opt/apigee/apigee-setup/bin/update.sh -c sso -f sso_config_file
其中 sso_config_file 是您安裝 SSO 時建立的設定檔。
- 重新啟動 UI 元件:
- 傳統版 UI:如果您使用的是傳統版 UI,請重新啟動機器 1 上的
edge-ui元件,如以下範例所示:/opt/apigee/apigee-service/bin/apigee-service edge-ui restart
- 新版 Edge UI:如果您安裝了新版 Edge UI,請在適當的機器上重新啟動
edge-management-ui元件 (可能不是機器 1):/opt/apigee/apigee-service/bin/apigee-service edge-management-ui restart
- 傳統版 UI:如果您使用的是傳統版 UI,請重新啟動機器 1 上的
9 節點叢集升級
如要安裝 9 節點叢集,請更新下列元件:
如需 Edge 拓撲和節點編號清單,請參閱「安裝拓撲」。
- 在機器 1、2 和 3 上更新 ZooKeeper:
/opt/apigee/apigee-setup/bin/update.sh -c zk -f configFile
- 更新機器 8 上的 Postgres:
/opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
- 更新機器 9 上的 Postgres:
/opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
- 在機器 1 上更新 LDAP:
/opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile
- 在機器 1、2 和 3 上更新 Cassandra:
/opt/apigee/apigee-setup/bin/update.sh -c cs -f configFile
- 依序更新機器 1、4、5、6、7、8 和 9 上的 Edge 元件:
/opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
- 更新機器 6 和 7 上的 Qpid:
/opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile
- 在機器 1 上更新新版 UI (
ue) 或傳統版 UI (ui):/opt/apigee/apigee-setup/bin/update.sh -c [ui|ue] -f configFile
- (如果您已安裝
apigee-adminapi) 更新機器 1 上的apigee-adminapi公用程式:/opt/apigee/apigee-service/bin/apigee-service apigee-adminapi update
- (如果您已安裝 Apigee SSO) 在機器 1 上更新 Apigee SSO:
/opt/apigee/apigee-setup/bin/update.sh -c sso -f sso_config_file
其中 sso_config_file 是您安裝 SSO 時建立的設定檔。
- 重新啟動 UI 元件:
- 傳統版 UI:如果您使用的是傳統版 UI,請重新啟動機器 1 上的
edge-ui元件,如以下範例所示:/opt/apigee/apigee-service/bin/apigee-service edge-ui restart
- 新版 Edge UI:如果您安裝了新版 Edge UI,請在適當的機器上重新啟動
edge-management-ui元件 (可能不是機器 1):/opt/apigee/apigee-service/bin/apigee-service edge-management-ui restart
- 傳統版 UI:如果您使用的是傳統版 UI,請重新啟動機器 1 上的
升級 13 節點叢集
如要安裝 13 節點叢集,請更新下列元件:
如需 Edge 拓撲和節點編號清單,請參閱「安裝拓撲」。
- 在機器 1、2 和 3 上更新 ZooKeeper:
/opt/apigee/apigee-setup/bin/update.sh -c zk -f configFile
- 更新機器 8 上的 Postgres:
/opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
- 更新機器 9 上的 Postgres:
/opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
- 更新機器 4 和 5 上的 LDAP:
/opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile
- 在機器 1、2 和 3 上更新 Cassandra:
/opt/apigee/apigee-setup/bin/update.sh -c cs -f configFile
- 依序更新機器 6、7、10、11、12、13、8 和 9 上的 Edge 元件:
/opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
- 更新機器 12 和 13 上的 Qpid:
/opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile
- 在機器 6 和 7 上更新新版 UI (
ue) 或傳統版 UI (ui):/opt/apigee/apigee-setup/bin/update.sh -c [ui|ue] -f configFile
- (如果您已安裝
apigee-adminapi) 更新機器 6 和 7 上的apigee-adminapi公用程式:/opt/apigee/apigee-service/bin/apigee-service apigee-adminapi update
- (如果您已安裝 Apigee SSO) 在機器 6 和 7 上更新 Apigee SSO:
/opt/apigee/apigee-setup/bin/update.sh -c sso -f sso_config_file
其中 sso_config_file 是您安裝 SSO 時建立的設定檔。
- 重新啟動 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
- 傳統版 UI:如果您使用的是傳統版 UI,請在機器 6 和 7 上重新啟動
升級 12 節點叢集
如要安裝 12 節點叢集,請更新下列元件:
如需 Edge 拓撲和節點編號清單,請參閱「安裝拓撲」。
在兩個資料中心內,更新機器 1、2、3、7、8、9 上的 ZooKeeper:
/opt/apigee/apigee-setup/bin/update.sh -c zk -f configFile
- 在兩個 DC 的機器 6、12 上更新 Postgres:
/opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
- 在兩個 DC 的機器 1、7 上更新 LDAP:
/opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile
封鎖 DC-1 的流量,並確保所有流量都重新導向至其他 DC-2
- 更新 DC-1 中機器 1、2、3 上的 Cassandra:
/opt/apigee/apigee-setup/bin/update.sh -c cs -f configFile
- DC-1 中機器 1 的更新管理伺服器:
/opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
- 更新 DC-1 中機器 2、3 上的路由器、訊息處理器:
/opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
- 解除封鎖 DC-1 的流量並驗證 DC-1,然後封鎖 DC-2 的流量並重新規劃路線至 DC-1,繼續處理 DC-2
- 更新 DC-2 中機器 7、8、9 上的 Cassandra:
/opt/apigee/apigee-setup/bin/update.sh -c cs -f configFile
- 更新 DC-2 中機器 7 上的管理伺服器:
/opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
- 更新 DC-2 中機器 8、9 上的路由器、訊息處理器:
/opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
- 解除封鎖 DC-2 的流量,現在兩個 DC 都會處理流量
- 在機器 1 和 7 上,對資料中心內的所有管理伺服器重新執行更新指令:
/opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
- 在兩個 DC 的機器 4、5、6、10、11、12 上更新 edge-qpid-server 和 edge-postgres-server:
/opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
- 更新兩個資料中心內機器 4、5、10、11 上的 Qpid:
/opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile
- 在兩個資料中心更新新版 UI (ue) 或傳統版 UI (ui):
/opt/apigee/apigee-setup/bin/update.sh -c [ui|ue] -f configFile
- (如果您已安裝 apigee-adminapi) 更新兩個 DC 中的 apigee-adminapi:
/opt/apigee/apigee-service/bin/apigee-service apigee-adminapi update
- (如果您已安裝 Apigee SSO) 更新兩個 DC 中的 Apigee SSO 節點:
/opt/apigee/apigee-setup/bin/update.sh -c sso -f configFile
- 在兩個 DC 中重新啟動新版 Edge UI (edge-management-ui) 或傳統版 Edge UI (edge-ui) 元件:
/opt/apigee/apigee-service/bin/apigee-service [edge-ui|edge-management-ui] restart