Apigee 支援直接將 Edge for Private Cloud 從 4.51.00、4.52.00 或 4.52.01 版升級至 4.52.02 版。本頁說明如何執行這類升級。
哪些人可以執行更新
執行更新的使用者應與原先安裝 Edge 的使用者相同,或是以根使用者身分執行。
安裝 Edge RPM 後,任何人都可以設定。
必須更新哪些元件
你必須更新所有 Edge 元件。Edge 不支援包含多個版本元件的設定。
更新必要條件
升級 Apigee Edge 前,請確認符合下列先決條件:
- 備份所有節點
更新前,建議您完整備份所有節點,確保安全無虞。請按照目前 Edge 版本的程序執行備份作業。這樣一來,如果更新至新版後無法正常運作,您還有備用方案。如要進一步瞭解備份,請參閱「備份與還原」。
- 確認 Edge 正在執行
使用下列指令,確認 Edge 在更新程序期間正在執行:/opt/apigee/apigee-service/bin/apigee-all status
- 確認 Cassandra Compaction Strategy 為
LeveledCompactionStrategy
根據目前版本,對 Cassandra Compaction Strategy 進行必要變更。請按照下列步驟操作,然後返回主要升級程序:- 如果從 4.51.00 版升級,請參閱 4.51.00 版的 Cassandra Compaction Strategy 文件。
- 如要從 4.52.00 版升級,請參閱 4.52.00 版的 Cassandra 壓縮策略文件。
- 如要從 4.52.01 版升級,請參閱 4.52.01 版的 Cassandra Compaction Strategy 文件。
升級時應考慮採取的特殊步驟
如要升級至 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,即使 Edge for Private Cloud 4.52.02 未包含 Postgres 升級,您仍須按照步驟升級 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 以外的開發人員入口網站,但如果您仍在使用 Drupal 7,並利用 SmartDocs 功能,則適用「 使用 SmartDocs API」文件。如果您使用的是較新版本的開發人員入口網站,升級期間 API 說明文件不會受到影響。
將 Apigee 升級至 4.52.02 版時,使用 Drupal 7 開發人員入口網站的 SmartDocs 功能建立的任何 API 模型,都不會自動遷移至新版。您必須使用開發人員入口網站手動匯出每個模型,並在升級完成後重新匯入。
下方使用的術語
執行階段:執行階段涵蓋執行階段 Proxy 流量的處理作業。包括路由器和訊息處理器執行的所有作業,可有效處理現有 Proxy 的執行階段 API 要求。但不包括部署新的 Proxy 或 Proxy 的新修訂版本。
管理:管理包括管理 Apigee Edge 系統。包括但不限於部署、修改應用程式、產品、目標伺服器、金鑰儲存區等。所有管理 API (及其用戶端,例如 Apigee 使用者介面和開發人員入口網站) 都包含在此範圍內。
升級期間,執行更新的區域或資料中心 (DC) 的執行階段和管理流量會受到影響。無論更新的是哪個資料中心,所有資料中心的特定管理 API 都會受到影響。每個步驟後都會註明影響。
在下列每個步驟中,都會說明您在升級程序各階段的執行階段和管理狀態。
升級策略
多個資料中心
升級時一次只能升級一個資料中心,確保流量不中斷,避免停機。升級 DC 前,流量應重新導向至其他正常運作的 DC。
單一資料中心
如果是單一資料中心設定,升級程序會對執行階段流量和特定管理 API 造成重大影響。單一資料中心設定可用的選項如下。
- 在現有資料中心旁 新增資料中心,將 Edge for 私有雲 叢集擴充至臨時資料中心,以便在升級期間處理流量,然後在升級程序完成後停用其中一個資料中心。
- 如果無法擴充至其他資料中心,請準備好停機,並在流量較低的時段安排升級,盡量減少對管理 API 和執行階段流量的影響。
建議您擴充至其他資料中心,避免影響執行階段流量和管理 API。升級期間,升級中的資料中心會受到影響,包括但不限於下列領域:
- 執行階段 API 重新整理 OAuth 權杖
- 使用存取實體政策的執行階段 API
- 管理 API,列出開發人員應用程式
- 管理 API 列出產品
除了上述影響外,在所有資料中心升級完成前,所有資料中心仍無法使用特定管理 API。後續章節的步驟會列出這類管理 API。
復原 - 高階
- 復原期間的影響
從 Cassandra 3.11.x 回溯至 2.1.x,會影響執行回溯作業的資料中心 (DC) 內執行階段和管理流量。此外,無論目前正在回溯哪個資料中心,某些管理 API 都可能在所有資料中心發生中斷情形。
- Follow DC by DC Rollback Approach
為維持服務不中斷並避免停機,每次只能回溯一個資料中心。在特定 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) 的做法。採用這種做法時,系統會將要復原的資料中心流量重新導向至其他正常運作的資料中心,確保 Cassandra、管理伺服器和執行階段節點的復原程序受到控管且彼此隔離,避免流量中斷。
詳情請參閱「回溯 Cassandra 3.11.16 更新」一節。
步驟 0:開始狀態
- Zookeeper、Postgres 和 LDAP 元件已升級至 4.52.02 版。私有雲叢集的 Edge 穩定運作。如需復原,叢集會復原至這個狀態。
- Apigee 中的 Cassandra 執行版本為 2.1.22。
- 邊緣元件:
- 管理伺服器透過較舊的 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 功能,請匯出每個模型,方法是從開發人員入口網站 UI 下載 JSON 格式的模型。管理伺服器更新後,必須將這些模型匯回 Apigee。
- 如果通訊埠 9160 和 9042 尚未開放,請確保所有 Edge 元件都能存取 Cassandra 節點。詳情請參閱「連接埠需求」。
步驟 2:將流量從第一個資料中心重新導向
- 封鎖來自第一個資料中心的傳入執行階段和管理流量。
- 將所有執行階段流量和管理 API 重新導向至其他正常運作的資料中心。
- 確認其他 DC 是否能順利處理執行階段和管理流量。
步驟 3:升級第一個資料中心的所有 Cassandra 節點
-
逐一升級資料中心 1 中的所有 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 升級第一個資料中心後,重新啟用第一個資料中心的執行階段和管理流量。
- 確保 DC 之間的執行階段和管理流量順利傳輸。
步驟 7:升級其他資料中心
針對其餘資料中心,重複步驟 1 至步驟 6,一次一個資料中心,方法是將流量從這些資料中心重新導向,更新 Apigee 軟體,然後在這些資料中心重新啟用流量。
步驟 8:在所有管理節點中重新執行升級步驟
在資料中心的所有管理節點中,重新執行下列升級指令:
/opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
步驟 9 - [選用] 匯入先前匯出的智慧文件
所有管理伺服器升級完成後,即可匯入您在步驟 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 使用者介面
本節列出 Edge UI 的相關注意事項。詳情請參閱「Private Cloud 的新 Edge UI」。
安裝 Edge UI
完成初始安裝後,Apigee 建議您安裝 Edge UI,這是 Apigee Edge Private Cloud 開發人員和管理員專用的強化版使用者介面。
請注意,Edge UI 需要停用基本驗證,並使用 IDP (例如 SAML 或 LDAP)。
詳情請參閱「安裝新版 Edge UI」。
更新 Edge UI
如要更新 Edge UI 元件,請考量您要從哪個版本的 Edge for Private Cloud 升級:
- 從 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。
- 繼續更新安裝中的其餘電腦。
更新前後請注意下列事項:
- 在合併的路由器和訊息處理器節點上:
- 更新前 - 請執行下列操作:
- 讓路由器無法連線。
- 讓訊息處理器無法連線。
- 更新後,請執行下列操作:
- 確保訊息處理工具可連線。
- 確保路由器可連線。
- 更新前 - 請執行下列操作:
- 在單一路由器節點上:
- 在單一 Message Processor 節點上:
- 更新前,請讓訊息處理器無法連線。
- 更新後,確保訊息處理器可連線。
使用無聲設定檔
您必須將無聲設定檔傳遞至更新指令。無聲設定檔應與您用來安裝 Edge 4.50.00 或 4.51.00 的設定檔相同。
在具備外部網際網路連線的節點上更新至 4.52.02 版
請按照下列程序更新節點上的 Edge 元件:
- 如有任何
cron工作設定為對 Cassandra 執行修復作業,請先停用,等到更新完成後再啟用。 - 以根使用者身分登入節點,安裝 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 使用者介面ui:傳統 Edge UIzk: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
- 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,請按照下列步驟操作:
- 如要設定 Nginx 網路伺服器,請參閱「安裝 Edge apigee-setup 公用程式」中的「從存放區安裝 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 使用者介面ui:傳統 Edge UIzk: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
- component 是要更新的 Edge 元件。您通常會更新下列元件:
- 如果尚未重新啟動,請在執行 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 Private Cloud 4.51.00 (或) 4.52.00 升級,還需要按照其他步驟升級 Zookeeper。
- 您必須更新所有資料中心的 PostgreSQL。如果您是從 Edge Private Cloud 4.51.00 升級,還需要按照其他步驟升級 postgres。
- 您必須更新所有資料中心的 LDAP 節點。
- 您必須更新所有 Cassandra、管理伺服器、訊息處理器和路由器節點,一次更新一個資料中心,直到所有資料中心都升級完成為止。
- 您必須更新所有資料中心的
edge-qpid-server和edge-postgres-server元件。 - 您必須升級所有資料中心的 Qpid 節點。如果您是從 Edge Private Cloud 4.51.00 (或) 4.52.00 升級,還需要按照其他步驟升級 Qpid。
- 更新所有資料中心的 Edge UI、New Edge UI 和 SSO 節點。
- 你不需要另外更新營利設定,指定 -c edge 選項時,系統會更新這個值。
單一節點獨立升級
如要將單一節點獨立設定升級至 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
- 在 Machine 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,請更新機器 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 使用者介面:如果您安裝了新版 Edge 使用者介面,請在電腦 6 和 7 上重新啟動
edge-management-ui元件:/opt/apigee/apigee-service/bin/apigee-service edge-management-ui restart
- 傳統 UI:如果您使用傳統 UI,請在機器 6 和 7 上重新啟動
12 節點叢集升級
針對 12 節點叢集安裝作業,更新下列元件:
如需 Edge 拓撲和節點編號清單,請參閱安裝拓撲。
在兩個 DC 中,更新機器 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 上,於所有 DC 的管理伺服器中重新執行更新指令:
/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
- 在兩個 DC 中,更新機器 4、5、10、11 上的 Qpid:
/opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile
- 在兩個 DC 中更新新版 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