Private Cloud v. 4.16.05 專用 Edge
本文件內含更新現有 4.16.05 安裝程序的步驟 使用 Apigee 的最新 RPM 與支援檔案。此程序使用 update.sh 公用程式 以執行更新
您可以更新哪些 Edge 版本 已更新至最新的 4.16.05 版
您只能將目前安裝的 Apigee Edge 4.16.05.x 版更新為最新版本 4.16.05 版。
如果您目前執行的是 Edge 4.16.01.0x 或更早版本,就必須先遷移至 4.16.05.請參閱將 Apigee Edge 4.16.01 更新至 4.16.05。 ,瞭解如何遷移至 4.16.05 版。
可執行更新的使用者
執行更新的使用者必須與當初安裝 Edge 的使用者相同,或 也就是以根的身分執行的使用者
任何使用者都可設定邊緣 RPM 套件。
更新的磁碟空間需求
請先確認您至少有 1 GB 的可用磁碟空間,再執行 更新。
屬性自動傳播 從 4.16.05.x 開始
如果您在 /opt/apigee/customer/application 中編輯 .properties 檔案來設定任何屬性,則這些屬性 值都會由更新保留。
更新必要條件
升級 Apigee Edge 前,請先瞭解下列事項:
- 備份所有節點
更新前,建議您對所有節點執行完整備份以確保安全 理由。按照目前 Edge 版本的程序執行備份。
這樣一來,您就可以建立備份方案,以在未更新至新版本時派上用場 功能。如要進一步瞭解備份,請參閱備份與還原。 - 確保 Edge 正在執行
使用下列指令,確保 Edge 在更新程序期間已啟動並執行:
> /<inst_root>/apigee/apigee-service/bin/apigee-all 狀態
處理失敗的更新
如果更新失敗,您可以嘗試修正問題,然後執行 update.sh 可以選取「重新建立」,再次生成新的提示您可以多次執行更新,系統會從上次中斷的地方繼續更新 關閉。
如果作業失敗,您必須將更新復原為先前版本,請參閱 4.16.05 復原程序。
記錄更新資訊
根據預設,update.sh 公用程式會將記錄資訊寫入:
/opt/apigee/var/log/apigee-setup/update.log
如果執行 update.sh 公用程式的使用者無法存取 並將記錄寫入 /tmp 目錄,名稱為 update_username.log。
如果使用者無法存取 /tmp,可使用 update.sh 公用程式 失敗。
零停機時間更新
零停機時間更新或滾動式更新可讓您在沒有停機時間的情況下更新 Edge 安裝作業 進而關閉 Edge
零停機時間更新只能透過 5 個節點設定完成。
升級到零停機時間的關鍵,在於從負載中逐一移除每個路由器,一次一個 。接著在路由器上更新路由器和任何其他元件,這些元件與路由器相同。 然後將路由器加回負載平衡器
- 請依照下方「訂單」一節的說明,按照正確的安裝順序更新機器 機器更新」
- 需要更新路由器時,請選取任一路由器並設為無法連線,如下所示: ,即「設定無法連上路由器和訊息處理器」一節。
- 在與路由器相同的機器上,更新所選路由器和所有其他 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.05 時使用的相同。
更新程序 4.16.05 (位於具備外部網際網路連線的節點)
請使用下列程序更新節點上的 Edge 元件:
- 如果有 CRON 工作顯示,則請停用在 Cassandra 上執行修復作業的所有 CRON 工作 直到更新完成為止
- 以根權限登入節點,安裝邊緣 RPM
注意:雖然 RPM 安裝作業需要 Root 存取權,但你可以執行 Edge 沒有根目錄存取權的話 - 按照安裝 Edge Apigee-setup 中的說明停用 SELinux 公用程式
- 清除所有 Yum 快取:
>sudo yum 全部清除 - 下載最新的 Edge Bootstrap_4.16.05.sh 檔案至 /tmp/bootstrap_4.16.05.sh:
>curl https://software.apigee.com/bootstrap_4.16.05.sh -o /tmp/bootstrap_4.16.05.sh - 更新 Edge apigee-service 公用程式和依附元件:
>sudo bash /tmp/bootstrap_4.16.05.sh apigeeuser=uName apigeepassword=pWord
其中 uName:pWord 是原始的使用者名稱和密碼 Apigee。如果您省略 pWord,系統會提示您輸入。 - 使用 apigee-service 更新 apigee-setup 公用程式:
> /opt/apigee/apigee-service/bin/apigee-service apigee-setup update
更新後,Apigee-service 會在 /<inst_dir>/apigee/apigee-setup/bin 安裝 update.sh 公用程式。 - 依照以下「機器順序」一節的說明,在節點上執行更新公用程式
更新」如下:
> /opt/apigee/apigee-setup/bin/update.sh -c 元件 -f configFile
設定檔的唯一規定是設定檔必須可供存取 可由「apigee」讀取內容。例如,將檔案放在 /tmp 目錄中 節點。
使用「-c」選項指定要更新的元件。系統會列出 元件包括:- ldap = OpenLDAP
- cs = Cassandr
- zk = Zookeeper
- qpid = qpidd
- ps = postgresql
- Edge =Edge UI 以外的所有邊緣元件:管理伺服器、訊息處理器、路由器 QPID 伺服器、Postgres 伺服器
- ui = Edge UI
- all = 更新機器上的所有元件 (僅適用於 Edge aio 安裝設定檔) 或 API BaaS 做為安裝設定檔
- e = ElasticSearch
- b = API BaaS 堆疊
- p = API BaaS 入口網站
- ebp = ElasticSearch、API BaaS 堆疊和 API BaaS 入口網站
- 執行 apigee-validate 公用程式,測試安裝來測試更新。
從本機更新 4.16.05 的程序 存放區
如果您的 Edge 節點在防火牆後面,或以其他方式遭禁止存取 透過網際網路取得 Apigee 存放區,接著您可以從本機存放區執行更新 或鏡像功能
建立本機 Edge 存放區後,您可以透過兩種方式更新 Edge 本機存放區:
- 建立存放區的 .tar 檔案,將 .tar 檔案複製到節點,然後從 .tar 檔案。
- 在含有本機存放區的節點中安裝網路伺服器,以便其他節點存取。 Apigee 提供 Nginx 網路伺服器供您使用,您也可以使用自己的 網路伺服器
如何從本機 4.16.05 存放區更新:
- 確認您已有本機 4.16.05 存放區,詳情請參閱「在 節點。
- 更新本機存放區:
- 下載最新的 Edge bootstrap_4.16.05.sh 檔案,
/tmp/bootstrap_4.16.05.sh:
>curl https://software.apigee.com/bootstrap_4.16.05.sh -o /tmp/bootstrap_4.16.05.sh - 執行同步處理作業:
> /opt/apigee/apigee-service/bin/apigee-service apigee-Mirror sync --only-new-rpms
- 下載最新的 Edge bootstrap_4.16.05.sh 檔案,
/tmp/bootstrap_4.16.05.sh:
-
如要從 .tar 檔案安裝 apigee-service:
- 在含有本機存放區的節點上,使用下列指令來封裝本機存放區
複製到名為 /opt/apigee/data/apigee-mirror/apigee-4.16.05.tar.gz 的單一.tar 檔案:
> /opt/apigee/apigee-service/bin/apigee-service apigee-Mirror 套件 - 將 .tar 檔案複製到要更新 Edge 的節點。例如,請複製到 上的 /tmp 目錄 新節點
- 在新節點上,將檔案解壓縮至 /tmp 目錄:
>tar -xzf apigee-4.16.05.tar.gz
這個指令會在包含 .tar 的目錄中建立新的目錄 (名稱為存放區) 檔案。例如 /tmp/repos。 - 以根權限登入節點,安裝邊緣 RPM
注意:雖然 RPM 安裝作業需要 Root 存取權,但你可以執行 Edge 沒有根目錄存取權的話 - 按照安裝 Edge 的說明停用 SELinux apigee-setup 公用程式。
- 從 /tmp/repos 安裝 Edge apigee-service 公用程式和依附元件:
>sudo bash /tmp/repos/bootstrap_4.16.05.sh apigeeprotocol="file:// apigeerepobasepath=/tmp/repos
請注意,您會在這個指令中加入存放區目錄的路徑。
- 在含有本機存放區的節點上,使用下列指令來封裝本機存放區
複製到名為 /opt/apigee/data/apigee-mirror/apigee-4.16.05.tar.gz 的單一.tar 檔案:
-
使用 Nginx 網路伺服器安裝 apigee-service:
- 按照「使用 Nginx 從存放區安裝」一節的說明,設定 Nginx 網路伺服器 webserver"安裝於 節點上的邊緣元件
- 在遠端節點上,下載 Edge bootstrap_4.16.05.sh 檔案,
/tmp/bootstrap_4.16.05.sh:
>/usr/bin/curl http://uName:pWord@remoteRepo:3939/bootstrap_4.16.05.sh -o /tmp/bootstrap_4.16.05.sh
其中 uName:pWord 是您在上方設定的使用者名稱和密碼 存放區,而 remoteRepo 是 存放區節點 - 以根權限登入節點,安裝邊緣 RPM
注意:雖然 RPM 安裝作業需要 Root 存取權,但你可以執行 Edge 沒有根目錄存取權的話 - 按照安裝 Edge 的說明停用 SELinux apigee-setup 公用程式。
- 在遠端節點上,安裝 Edge apigee-service 公用程式和依附元件:
>sudo bash /tmp/bootstrap_4.16.05.sh apigeerepohost=remoteRepo:3939 apigeeuser=uNamea pigeepassword=pWord apigeeprotocol=http://
其中 uName:pWord 是存放區的使用者名稱和密碼。
- 如果有 CRON 工作顯示,則請停用在 Cassandra 上執行修復作業的所有 CRON 工作 直到更新完成為止
- 使用 apigee-service 更新 apigee-setup 公用程式:
> /opt/apigee/apigee-service/bin/apigee-service apigee-setup update
更新後,Apigee-service 會在 <inst_dir>/apigee/apigee-setup/bin 安裝 update.sh 公用程式。 - 依照以下「機器順序」一節的說明,在節點上執行更新公用程式
更新」如下:
> /opt/apigee/apigee-setup/bin/update.sh -c 元件 -f configFile
設定檔的唯一規定是設定檔必須可供存取 可由「apigee」讀取內容。例如,將檔案放在 /tmp 目錄中 節點。
使用「-c」選項指定要更新的元件。系統會列出 元件包括:- ldap = OpenLDAP
- cs = Cassandr
- zk = Zookeeper
- qpid = qpidd
- ps = postgresql
- Edge =Edge UI 以外的所有邊緣元件:管理伺服器、訊息處理器、路由器 QPID 伺服器、Postgres 伺服器
- ui = Edge UI
- all = 更新機器上的所有元件 (僅適用於 Edge aio 安裝設定檔) 或 API BaaS 做為安裝設定檔
- e = ElasticSearch
- b = API BaaS 堆疊
- p = API BaaS 入口網站
- ebp = ElasticSearch、API BaaS 堆疊和 API BaaS 入口網站
- 執行 apigee-validate 公用程式,測試安裝來測試更新。
機器更新順序
您在 Edge 安裝程序中更新機器的順序相當重要。最常出現 更新時的重要注意事項如下:
- 您必須先更新「所有」Cassandra 和 ZooKeeper 節點,才能更新任何節點 和其他節點
- 您必須先更新「所有」qpidd 和 postgresql 節點,才能更新任何 路由器和訊息處理器節點。
- 適用於具備多個 Edge 元件 (管理伺服器、訊息處理器) 的任何機器 路由器、QPID 伺服器、Postgres 伺服器),使用「-c 邊緣」一次更新多個項目 讓應用程式從可以最快做出回應的位置 回應使用者要求
- 如果步驟指定應在多部機器上執行,請在該步驟中執行 指定的機器順序
- 更新營利設定無須另外執行一個步驟。這個清單會在您指定「-c」時更新 邊緣」如果有需要 SQL 指令的分析工作負載 則 BigQuery 可能是最佳選擇
- 更新路由器節點後,您必須從 /opt/nginx/conf.d 目錄中移除所有檔案。 然後重新啟動路由器
單獨使用 安裝
- 更新機器 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 主機 安裝
請參閱安裝 適用於 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/* - 重新啟動邊緣路由器:
> /<inst_root>/apigee/apigee-service/bin/apigee-service Edge-router 重新啟動
- 刪除 /opt/nginx/conf.d 中的所有檔案:
- 在機器 1 上更新 UI:
> /opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile
針對 5 個主機叢集 安裝
請參閱安裝 適用於 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 上的邊緣元件:
> /opt/apigee/apigee-setup/bin/update.sh -c Edge -f configFile - 在節點 2 和 3 上:
- 刪除 /opt/nginx/conf.d 中的所有檔案:
>rm -f /opt/nginx/conf.d/* - 重新啟動邊緣路由器:
> /<inst_root>/apigee/apigee-service/bin/apigee-service Edge-router 重新啟動
- 刪除 /opt/nginx/conf.d 中的所有檔案:
- 在機器 1 上更新 UI:
> /opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile
針對 9 主機叢集 安裝
請參閱安裝 適用於 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/* - 重新啟動邊緣路由器:
> /<inst_root>/apigee/apigee-service/bin/apigee-service Edge-router 重新啟動
- 刪除 /opt/nginx/conf.d 中的所有檔案:
- 在機器 1 上更新 UI:
> /opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile
13 主機叢集 安裝
請參閱安裝 適用於 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/* - 重新啟動邊緣路由器:
> /<inst_root>/apigee/apigee-service/bin/apigee-service Edge-router 重新啟動
- 刪除 /opt/nginx/conf.d 中的所有檔案:
- 更新機器 6 和 7 上的 UI:
> /opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile
針對 12 個主機叢集 安裝
請參閱安裝 適用於 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
- 更新 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
- 更新 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
- 更新 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/* - 重新啟動邊緣路由器:
> /<inst_root>/apigee/apigee-service/bin/apigee-service Edge-router 重新啟動
- 刪除 /opt/nginx/conf.d 中的所有檔案:
- 資料中心 1
- 更新 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
7 主機 API BaaS 安裝
請參閱安裝 適用於 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 安裝
請參閱安裝 適用於 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/* - 重新啟動邊緣路由器:
> /<inst_root>/apigee/apigee-service/bin/apigee-service Edge-router 重新啟動
- 刪除 /opt/nginx/conf.d 中的所有檔案:
- UI