本文件內含更新現有 4.16.01 版本的程序 安裝,使用 Apigee 的最新 RPM 與支援檔案。本程序使用 update.sh 公用程式 以執行更新
您可以更新哪些 Edge 版本 已更新至最新的 4.16.01 版
您只能將目前安裝的 Apigee Edge 4.16.01.x 版更新為 最新的 4.16.01 版
如果您目前執行的是 Edge 4.15.07.0x 或更早版本,就必須先遷移至 4.16.01.查看 Apigee ftp 提供的 Apigee Edge 4.16.01 安裝指南 網站:ftp://ftp.apigee.com/,瞭解如何 從 4.15.07.0x 或更舊版本遷移至 4.16.01 版。
可執行更新的使用者
執行更新的使用者必須與當初安裝 Edge 的使用者相同,或 也就是以根的身分執行的使用者
任何使用者都可設定邊緣 RPM 套件。
更新的磁碟空間需求
請先確認您至少有 1 GB 的可用磁碟空間,再執行 更新。
屬性自動傳播 從 4.16.01.x 開始
如果您在 /opt/apigee/customer/application 中編輯 .properties 檔案來設定任何屬性,則這些屬性 值都會由更新保留。
更新必要條件
升級 Apigee Edge 前,請先瞭解下列事項:
- 備份所有節點
更新前,建議您對所有節點執行完整備份以確保安全 理由。按照目前 Edge 版本的程序執行備份。
這樣一來,您就可以建立備份方案,以在未更新至新版本時派上用場 功能。有關備份的詳情,請參閱 Apigee Edge 4.16.01 作業指南,可在 Apigee FTP 網站 ftp://ftp.apigee.com/ 取得。 - 確保 Edge 正在執行
使用下列指令,確保 Edge 在更新程序期間已啟動並執行:
> /<inst_root>/apigee/apigee-service/bin/apigee-all 狀態
處理失敗的更新
如果更新失敗,您可以嘗試修正問題,然後執行 update.sh 可以選取「重新建立」,再次生成新的提示您可以多次執行更新,系統會從上次中斷的地方繼續更新 關閉。
如果作業失敗而需要您將更新復原為先前版本,請參閱 Apigee FTP 上的 Apigee Edge 4.16.01 安裝指南 網站:ftp://ftp.apigee.com/
記錄更新資訊
根據預設,update.sh 公用程式會將記錄資訊寫入:
/opt/apigee/var/log/apigee-setup/update.log
如果執行 update.sh 公用程式的使用者無法存取 並將記錄寫入 /tmp 目錄,名稱為 update_username.log。
如果使用者無法存取 /tmp,update.sh 公用程式就會失敗。
零停機時間更新
零停機時間更新或滾動式更新可讓您在沒有停機時間的情況下更新 Edge 安裝作業 進而關閉 Edge
升級到零停機時間的關鍵,在於從負載中逐一移除每個路由器,一次一個 。接著在路由器上更新路由器和任何其他元件,這些元件與路由器相同。 然後將路由器加回負載平衡器
- 請依照下方「訂單」一節的說明,按照正確的安裝順序更新機器 機器更新」
- 需要更新路由器時,請選取任一路由器並設為無法連線,如下所示: ,即「設定無法連上路由器和訊息處理器」一節。
- 在與路由器相同的機器上,更新所選路由器和所有其他 Edge 元件。 所有邊緣設定會在相同節點上顯示路由器和訊息處理器。
- 重新連線至路由器。
- 針對其餘的路由器,重複步驟 2 到 4。
- 請繼續為安裝中其餘的機器進行更新。
建立路由器 無法連線至訊息處理器
在實際工作環境的設定中,您會有多個路由器和訊息處理器 最佳效能,且您必須啟用/停用這些路由器和訊息的可連性功能 更新前後的處理器。
下列 API 呼叫會將節點設定為可連線或無法連線:
> curl -u adminEmail:pWord -X POST "http://<ms_IP>:8080/v1/servers/UUID" -d "reachable=true|false"
其中 UUID 是訊息處理器或路由器的 UUID,而 可連接的引數設定為 true 或 false。
如需判斷路由器的 UUID,請使用下列 cURL 指令:
> curl http://<routerIP>:8081/v1/servers/self
如需判斷訊息處理器的 UUID,請使用下列 cURL 指令:
> curl http://<mpIP>:8082/v1/servers/self
更新前後請謹慎處理下列事項:
- 在合併的路由器和訊息處理器節點上:
- 更新前 - 執行下列動作:
- 使用上述的 API 呼叫來連線至路由器。
- 將無法連線至訊息處理器設為連線。
- 更新後,請執行下列步驟:
- 請連線至訊息處理器。
- 將路由器設為可連線。
- 更新前 - 執行下列動作:
- 在單一路由器節點上:
- 在更新前,請將路由器設為可連線。
- 更新後,請將路由器設為可連線。
- 在單一訊息處理器節點上:
- 更新前,請先設為無法連線至訊息處理器。
- 更新後,請連線至「訊息處理器」,
使用靜音設定檔
您必須將靜音設定檔傳送至 update 指令。靜音設定檔 應與您之前安裝 Edge 4.16.01 時使用的相同。
更新程序 在具備外部網際網路連線的節點上執行 4.16.01
請使用下列程序更新節點上的 Edge 元件:
- 如果有 CRON 工作顯示,則請停用在 Cassandra 上執行修復作業的所有 CRON 工作 直到更新完成為止
- 以根權限登入節點,安裝邊緣 RPM
注意:雖然 RPM 安裝作業需要 Root 存取權,但你可以執行 Edge 沒有根目錄存取權的話 - 按照 Apigee Edge 4.16.01 安裝項目中的說明停用 SELinux Apigee FTP 網站指南:ftp://ftp.apigee.com/
- 清除所有 Yum 快取:
>sudo yum 清理 全部 - 下載最新的 Edge Bootstrap.sh 檔案至 /tmp/bootstrap.sh:
>curl https://software.apigee.com/bootstrap.sh -o /tmp/bootstrap.sh - 更新 Edge apigee-service 公用程式並
依附元件:
>sudo bash /tmp/bootstrap.sh apigeeuser=uName apigeepassword=pWord
其中 uName:pWord 是您輸入的使用者名稱和密碼 。如果省略 pWord,系統會提示您 輸入。 - 使用 apigee-service 可以
更新 apigee-setup
公用程式:
> /opt/apigee/apigee-service/bin/apigee-service apigee-setup update
這會更新至 apigee-service 安裝 update.sh 公用程式 在 <inst_dir>/apigee/apigee-setup/bin。 - 依照以下「機器順序」一節的說明,在節點上執行更新公用程式
更新」如下:
> /opt/apigee/apigee-setup/bin/update.sh -c component -f configFile
設定檔的唯一規定是設定檔必須可供存取 可由「apigee」讀取內容。例如,將檔案放在 /tmp 目錄中 節點。
使用「-c」選項指定要更新的元件。系統會列出 元件包括:- ldap = OpenLDAP
- cs = Cassandr
- zk = Zookeeper
- qpid = qpidd
- ps = postgresql
- edge =所有邊緣 包括 Edge UI 的管理伺服器、訊息處理器、路由器、QPID Server Postgres 伺服器
- ui = Edge UI
- all = 全部更新 機器上的元件 (僅適用於 Edge aio 安裝設定檔或 API BaaS asa) 安裝設定檔)
- e = ElasticSearch
- b = API BaaS 堆疊
- p = API BaaS 入口網站
- ebp = ElasticSearch、 位於相同節點上的 API BaaS 堆疊和 API BaaS 入口網站
- 在訊息上執行 apigee-validate 公用程式,以測試更新。 按照 Apigee Edge 4.16.01 安裝指南中所述的處理器 可在 Apigee FTP 網站上取得:ftp://ftp.apigee.com/
從本機更新 4.16.01 的程序 存放區
如果您的 Edge 節點在防火牆後面,或以其他方式遭禁止存取 透過網際網路取得 Apigee 存放區,接著您可以從本機存放區執行更新 或鏡像功能
建立本機 Edge 存放區後,您可以透過兩種方式更新 Edge 本機存放區:
- 建立存放區的 .tar 檔案,將 .tar 檔案複製到節點,然後從 .tar 檔案。
- 在含有本機存放區的節點中安裝網路伺服器,以便其他節點存取。 Apigee 提供 Nginx 網路伺服器供您使用,您也可以使用自己的 網路伺服器
如何從本機 4.16.01 存放區更新:
- 確認您已有 Apigee Edge 中所述的本機 4.16.01 存放區 4.16.01 安裝指南,可在 Apigee FTP 網站取得:ftp://ftp.apigee.com/
- 更新本機存放區:
- 下載最新的 Edge Bootstrap.sh 檔案至 /tmp/bootstrap.sh:
>curl https://software.apigee.com/bootstrap.sh -o /tmp/bootstrap.sh - 執行同步處理作業:
> /opt/apigee/apigee-service/bin/apigee-service apigee-Mirror sync --only-new-rpms
- 下載最新的 Edge Bootstrap.sh 檔案至 /tmp/bootstrap.sh:
-
如要從 .tar 檔案安裝 apigee-service:
- 在含有本機存放區的節點上,使用下列指令來封裝本機存放區
複製到名為 /opt/apigee/data/apigee-mirror/apigee-4.16.01.tar.gz 的單一.tar 檔案:
> /opt/apigee/apigee-service/bin/apigee-service apigee-Mirror 套件 - 將 .tar 檔案複製到要更新 Edge 的節點。例如,請複製到 上的 /tmp 目錄 新節點
- 在新節點上,將檔案解壓縮至 /tmp 目錄:
>tar -xzf apigee-4.16.01.tar.gz
這個指令會建立新的目錄 位於包含 .tar 檔案的目錄中例如: /tmp/repos. - 以根權限登入節點,安裝邊緣 RPM
注意:雖然 RPM 安裝作業需要 Root 存取權,但你可以執行 Edge 沒有根目錄存取權的話 - 按照 Apigee Edge 中的說明停用 SELinux 4.16.01 安裝指南,可在 Apigee FTP 網站取得:ftp://ftp.apigee.com/
- 安裝 Edge apigee-service 公用程式和依附元件
來自 /tmp/repos:
>sudo bash /tmp/repos/bootstrap.sh apigeeprotocol="file://apigeerepobasepath=/tmp/repos
請注意,您已加入 複製到存放區目錄
- 在含有本機存放區的節點上,使用下列指令來封裝本機存放區
複製到名為 /opt/apigee/data/apigee-mirror/apigee-4.16.01.tar.gz 的單一.tar 檔案:
-
使用 Nginx 網路伺服器安裝 apigee-service:
- 按照「使用 Nginx 從存放區安裝」一節的說明,設定 Nginx 網路伺服器 webserver"請參閱 Apigee 提供的 Edge 4.16.01 安裝指南。 FTP 網站:ftp://ftp.apigee.com/
- 在遠端節點上,將 Edge bootstrap.sh 檔案下載至 /tmp/bootstrap.sh:
> /usr/bin/curl http://uName:pWord@remoteRepo:3939/bootstrap.sh -o /tmp/bootstrap.sh
where uName:pWord are the username and password you set above for the repo, and remoteRepo is the IP address or DNS name of the repo node.
- Log in to your node as root to install the Edge RPMs
Note: While RPM installation requires root access, you can perform Edge configuration without root access. - Disable SELinux as described in the Apigee Edge 4.16.01 Installation Guide, available on the Apigee FTP site: ftp://ftp.apigee.com/
- On the remote node, install the Edge apigee-service utility and
dependencies:
> sudo bash /tmp/bootstrap.sh apigeerepohost=remoteRepo:3939 apigeeuser=uName apigeepassword=pWord apigeeprotocol=http://
where uName:pWord are the repo username and password.
- If present, disable any CRON jobs configured to perform a repair operation on Cassandra until after the update completes.
- Use apigee-service to update the apigee-setup utility:
> /opt/apigee/apigee-service/bin/apigee-service apigee-setup update
This update to apigee-service installs the update.sh utility in <inst_dir>/apigee/apigee-setup/bin. - Run the update utility on your nodes in the order described below in "Order of machine
update" below:
> /opt/apigee/apigee-setup/bin/update.sh -c component -f configFile
The only requirement on the config file is that the configuration file must be accessible or readable by the "apigee" user. For example, put the file in the /tmp directory on the node.
Use the “-c” option to specify the component to update. The list of possible components includes:- ldap = OpenLDAP
- cs = Cassandr
- zk = Zookeeper
- qpid = qpidd
- ps = postgresql
- edge =All Edge components except Edge UI: Management Server, Message Processor, Router, QPID Server, Postgres Server
- ui = Edge UI
- all = update all components on machine (only use for an Edge aio installation profile or an API BaaS asa installation profile)
- e = ElasticSearch
- b = API BaaS Stack
- p = API BaaS Portal
- ebp = ElasticSearch, API BaaS Stack, and API BaaS Portal on the same node
- Test the update by running the apigee-validate utility on the Message Processor, as described in the Apigee Edge 4.16.01 Installation Guide, available on the Apigee FTP site: ftp://ftp.apigee.com/
Order of machine update
The order that you update the machines in an Edge installation is important. The most important considerations to an update are:
- You must update all Cassandra and ZooKeeper nodes before you update any other nodes.
- You must update all qpidd and postgresql nodes before you update any Router and Message Processor nodes.
- For any machine with multiple Edge components (Management Server, Message Processor, Router, QPID Server, Postgres Server), use the "-c edge" option to update them all at the same time.
- If a step specifies that it should be performed on multiple machines, perform it in the specified machine order.
- There is no separate step to update Monetization. It is updated when you specify the "-c edge" option.
- After you update a Router node, you must remove all files from the /opt/nginx/conf.d directory, and then restart the Router.
For a 1-host standalone installation
- Update machine 1:
> /opt/apigee/apigee-setup/bin/update.sh -c all -f configFile
- 刪除 /opt/nginx/conf.d 中的所有檔案:
>rm -f /opt/nginx/conf.d/* - 重新啟動邊緣路由器:
> /<inst_root>/apigee/apigee-service/bin/apigee-service Edge-router 重新啟動
獨立 2 主機 安裝
查看 Apigee FTP 提供的 Apigee Edge 4.16.01 安裝指南 網站:ftp://ftp.apigee.com/,可查看 Edge 拓撲和節點編號清單。
- 在機器 1 上更新 Cassandra 和 ZooKeeper:
> /opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile
- 在機器 2 上更新 qpidd 和 postgresql:
> /opt/apigee/apigee-setup/bin/update.sh -c qpid,ps -f configFile
- 在電腦 1 上更新 LDAP:
> /opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile
- 更新機器 2 和機器 1 上的邊緣元件:
> /opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
- 在節點 1 上:
- 刪除
/opt/nginx/conf.d
中的所有檔案:> rm -f /opt/nginx/conf.d/*
- 重新啟動 Edge 路由器:
> /<inst_root>/apigee/apigee-service/bin/apigee-service edge-router restart
- 刪除
- 更新裝置 1 的 UI:
> /opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile
針對 5 個主機叢集 安裝
查看 Apigee FTP 提供的 Apigee Edge 4.16.01 安裝指南 網站:ftp://ftp.apigee.com/,即可取得 Edge 清單 拓撲和節點編號
- 在機器 1、2 和 3 上更新 Cassandra 和 ZooKeeper:
> /opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile
- 更新機器 4 和 5 上的 qpidd 和 postgresql:
> /opt/apigee/apigee-setup/bin/update.sh -c qpid,ps -f configFile
- 在電腦 1 上更新 LDAP:
> /opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile
- 更新機器 4、5、1、2、3 上的 Edge 元件:
> /opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
- 在節點 2 和 3 上:
- 刪除
/opt/nginx/conf.d
中的所有檔案:> rm -f /opt/nginx/conf.d/*
- 重新啟動 Edge 路由器:
> /<inst_root>/apigee/apigee-service/bin/apigee-service edge-router restart
- 刪除
- 更新裝置 1 的 UI:
> /opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile
針對 9 主機叢集 安裝
查看 Apigee FTP 提供的 Apigee Edge 4.16.01 安裝指南 網站:ftp://ftp.apigee.com/,可查看 Edge 拓撲和節點編號清單。
- 在機器 1、2 和 3 上更新 Cassandra 和 ZooKeeper:
> /opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile
- 更新機器 6 和 7 上的 qpidd:
> /opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile
- 在機器 8 和 9 上更新 postgresql:
> /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
- 在電腦 1 上更新 LDAP:
> /opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile
- 請依照下列順序更新機器 6、7、8、9、1、4 和 5 上的 Edge 元件:
> /opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
- 在節點 4 和 5 上:
- 刪除
/opt/nginx/conf.d
中的所有檔案:> rm -f /opt/nginx/conf.d/*
- 重新啟動 Edge 路由器:
> /<inst_root>/apigee/apigee-service/bin/apigee-service edge-router restart
- 刪除
- 更新裝置 1 的 UI:
> /opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile
13 主機叢集 安裝
查看 Apigee FTP 提供的 Apigee Edge 4.16.01 安裝指南 網站:ftp://ftp.apigee.com/,可查看 Edge 拓撲和節點編號清單。
- 在機器 1、2 和 3 上更新 Cassandra 和 ZooKeeper:
> /opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile
- 在機器 12 和 13 上更新 qpidd:
> /opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile
- 在機器 8 和 9 上更新 postgresql:
> /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
- 請依照下列順序更新機器 12、13、8、9、6、7、10 和 11 上的 Edge 元件:
> /opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
- 在節點 10 和 11 上:
- 刪除
/opt/nginx/conf.d
中的所有檔案:> rm -f /opt/nginx/conf.d/*
- 重新啟動 Edge 路由器:
> /<inst_root>/apigee/apigee-service/bin/apigee-service edge-router restart
- 刪除
- 更新機器 6 和 7 的 UI:
> /opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile
針對 12 個主機叢集 安裝
查看 Apigee FTP 提供的 Apigee Edge 4.16.01 安裝指南 網站:ftp://ftp.apigee.com/,可查看 Edge 拓撲和節點編號清單。
- 更新 Cassandra 和 ZooKeeper:
- 在資料中心 1 的機器 1、2 和 3 中:
> /opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile
- 位於資料中心 2 中的機器 7、8 和 9
> /opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile
- 在資料中心 1 的機器 1、2 和 3 中:
- 更新 qpidd:
- 資料中心 1 中的機器 4、5 部
> /opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile
- 資料中心 2 中的機器 10、11
> /opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile
- 資料中心 1 中的機器 4、5 部
- 更新 postgresql:
- 資料中心 1 中的機器 6
> /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
- 資料中心 2 中的機器 12
> /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
- 資料中心 1 中的機器 6
- 更新 LDAP:
- 資料中心 1 中的機器 1
> /opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile
- 資料中心 2 中的機器 7
> /opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile
- 資料中心 1 中的機器 1
- 更新 Edge 元件:
- 資料中心 1 中的機器 4、5、6、1、2、3
> /opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
- 資料中心 2 中的機器 10、11、12、7、8、9
> /opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
- 在節點 2、3、8 和 9 上:
- 刪除
/opt/nginx/conf.d
中的所有檔案:> rm -f /opt/nginx/conf.d/*
- 重新啟動 Edge 路由器:
> /<inst_root>/apigee/apigee-service/bin/apigee-service edge-router restart
- 刪除
- 資料中心 1 中的機器 4、5、6、1、2、3
- 更新 UI:
- 資料中心 1 中的機器 1
> /opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile
- 資料中心 2 中的機器 7
> /opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile
- 資料中心 1 中的機器 1
7 主機 API BaaS 安裝
查看 Apigee FTP 提供的 Apigee Edge 4.16.01 安裝指南 網站:ftp://ftp.apigee.com/,可查看 Edge 拓撲和節點編號清單。
- 在機器 5、6 和 7 上更新 Cassandra:
> /opt/apigee/apigee-setup/bin/update.sh -c cs -f configFile
- 在機器 1、2 和 3 上更新 ElasticSearch 和 API BaaS 堆疊:
> /opt/apigee/apigee-setup/bin/update.sh -c e,b -f configFile
- 在機器 4 上更新 API BaaS 入口網站:
> /opt/apigee/apigee-setup/bin/update.sh -c p -f configFile
10 主機 API BaaS 安裝
查看 Apigee FTP 提供的 Apigee Edge 4.16.01 安裝指南 網站:ftp://ftp.apigee.com/,可查看 Edge 拓撲和節點編號清單。
- 在機器 8、9 與 10 上更新 Cassandra:
> /opt/apigee/apigee-setup/bin/update.sh -c cs -f configFile
- 在機器 1、2 和 3 上更新 ElasticSearch:
> /opt/apigee/apigee-setup/bin/update.sh -c e -f configFile
- 在機器 4、5 和 6 上更新 API BaaS 堆疊:
> /opt/apigee/apigee-setup/bin/update.sh -c b -f configFile
- 在機器 7 上更新 API BaaS 入口網站:
> /opt/apigee/apigee-setup/bin/update.sh -c p -f configFile
非標準安裝
如果您安裝的是非標準版本,請在下方更新 Edge 元件 順序:
- ZooKeeper
- Cassandra
- qpidd
- postgresql
- LDAP
- 邊緣,表示「-c 邊緣」依序為所有節點建立設定檔:Qpid、Postgres、管理 伺服器、訊息處理器、路由器
- 在所有路由器節點上:
- 刪除
/opt/nginx/conf.d
中的所有檔案:> rm -f /opt/nginx/conf.d/*
- 重新啟動 Edge 路由器:
> /<inst_root>/apigee/apigee-service/bin/apigee-service edge-router restart
- 刪除
- UI