Private Cloud 適用的 Edge 4.17.09 版
哪些 Edge 版本可更新至 4.17.09
您可以按照這個程序,將 Apigee Edge 4.16.09.0x 版更新至 4.17.09 版。
如果您有 4.16.01 之前的 Edge 版本,就必須先遷移至 4.16.01.x 版,然後再更新至 4.17.09 版。
誰可以執行更新
執行更新的使用者應與最初安裝 Edge 的使用者相同,或以 root 身分執行的使用者。
安裝 Edge RPM 後,任何使用者都可以設定這些 RPM。
您需要更新哪些元件
您必須更新所有 Edge 元件。Edge 不支援含有多個版本元件的設定。
必須升級至 Qpid 1.35
這個版本包含 Qpid 1.35 的必要更新。更新 Qpid 節點時,您必須:
- 封鎖 Qpid 節點上的 5672 通訊埠,暫時防止路由器和訊息處理器寫入 Qpid 節點。您可以使用下列指令,在 Qpid 節點上封鎖這個通訊埠:
> sudo iptables -A INPUT -p tcp --destination-port 5672 ! -s `hostname` -i eth0 -j DROP - 請等待 Qpid 佇列清空訊息,確保 Qpid 節點已在更新前處理所有訊息。使用以下指令,確認 Qpid 訊息佇列為空白:
> qpid-stat -q - 更新 Qpid 節點。
- 解除 Qpid 節點上的 5672 通訊埠封鎖,允許 Router 和 Message Processor 存取。您可以使用下列指令解除封鎖這個通訊埠:
> sudo iptables -F
請注意,如果您將 iptables 用於其他規則,可以使用 -D 選項來反轉特定變更:
> sudo iptables -D INPUT -p tcp --destination-port 5672 ! -s `hostname` -i eth0 -j DROP
以下將詳細說明每個 Edge 拓樸的這項程序。
如要啟用 EPEL 存放區,此為必要屬性
您必須啟用 Extra Packages for Enterprise Linux (或 EPEL),才能安裝或更新 Edge。您使用的指令取決於 RedHat/CentOS 版本:
- 適用於 RedHat/CentOS/Oracle 7.x:
> wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm; rpm -ivh epel-release-latest-7.noarch.rpm - RedHat/CentOS/Oracle 6.x:
wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm; rpm -ivh epel-release-latest-6.noarch.rpm
必須新增 SMTPMAILFROM 設定參數
Edge 4.17.05 在啟用 SMTP 伺服器時,為用於設定檔新增了一個必要參數。如果您是從 4.17.01 更新,則必須在啟用 SMTP 伺服器時,在設定檔中設定 SMTPMAILFROM。
API BaaS 4.17.09 版本也新增了對 SMTPMAILFROM 屬性的支援。更新 API BaaS 時,您必須在設定檔中設定 SMTPMAILFROM。
這個參數的格式如下:
SMTPMAILFROM="My Company <myco@company.com>"
如果使用外部驗證機制更新,就必須提供
您可以將外部目錄服務整合至現有的 Apigee Edge 私有雲安裝項目中。這項功能可搭配任何支援 LDAP 的目錄服務使用,例如 Active Directory、OpenLDAP 等。外部 LDAP 解決方案可讓系統管理員從集中式目錄管理服務 (而非 Apigee Edge 等使用這類目錄的系統) 管理使用者憑證。
詳情請參閱「外部驗證設定」。
啟用外部驗證功能後,大多數客戶會使用 Active Directory SAM 帳戶名稱欄位做為驗證使用者名稱,而不是 Edge OpenLDAP 伺服器使用的電子郵件地址。
如果您已整合外部目錄服務,請在將 Edge 更新至 4.17.09 時,將下列程式碼行新增至設定檔:
IS_EXTERNAL_AUTH="true"
這行會將 Edge 設定為使用帳戶名稱 (而非電子郵件地址) 做為使用者名稱。
自動傳播資源設定
如果您在 /opt/apigee/customer/application 中編輯 .properties 檔案來設定任何屬性,這些值會保留在更新中。
更新必要條件
升級 Apigee Edge 前,請先確認下列必要條件:
- 備份所有節點
基於安全考量,建議您在更新前完整備份所有節點。請按照目前 Edge 版本的程序執行備份作業。
這樣一來,如果更新至新版本後無法正常運作,您就能使用備用方案。如要進一步瞭解備份功能,請參閱「備份與還原」。 - 確認 Edge 是否正在執行
請使用以下指令,確認 Edge 在更新程序期間是否已啟用並執行:
> /opt/apigee/apigee-service/bin/apigee-all status
處理失敗的更新
如果更新失敗,您可以嘗試修正問題,然後再次執行 update.sh。您可以多次執行更新,系統會從上次中斷處繼續更新。
如果作業失敗,您就必須將更新復原為先前版本,請參閱 4.17.09 復原程序瞭解詳情。
記錄更新資訊
根據預設,update.sh 公用程式會將記錄資訊寫入:
/opt/apigee/var/log/apigee-setup/update.log
如果執行 update.sh 公用程式的使用者無法存取該目錄,則會將記錄以名為 update_username.log 的檔案寫入 /tmp 目錄。
如果使用者無法存取 /tmp,update.sh 公用程式就會失敗。
無停機更新
零停機更新 (或滾動式更新) 可讓您在不關閉 Edge 的情況下更新 Edge 安裝作業。
只有 5 個節點以上的設定才能進行零停機更新。
要想在無停機時間的情況下升級,關鍵在於從負載平衡器中逐一移除每個路由器。接著,請更新路由器和路由器所在電腦上的任何其他元件,然後將路由器重新加入負載平衡器。
- 請按照下方「機器更新順序」所述的正確順序更新機器。
- 需要更新路由器時,請選取任一路由器,使其無法連上,如啟用/停用伺服器 (訊息處理器/路由器) 可連性中所述。
- 更新所選路由器和所有其他 Edge 元件,這些元件必須與路由器位於相同的電腦上。 所有 Edge 設定都會在同一個節點上顯示路由器和訊息處理器。
- 讓路由器再次可供存取。
- 針對其餘的路由器,重複步驟 2 到 4。
- 請繼續為已安裝的所有機器繼續更新。
請在更新前/後注意下列事項:
- 在路由器和訊息處理器節點上:
- 更新前:請執行下列操作:
- 讓路由器無法連線。
- 讓訊息處理工具無法連線。
- 更新後 - 請執行下列操作:
- 請連線至訊息處理器。
- 讓路由器可供存取。
- 更新前:請執行下列操作:
- 在單一路由器節點上:
- 更新前,請讓路由器無法連線。
- 更新後,請將路由器設為可連線。
- 在單一訊息處理器節點上:
- 在更新前,請讓 Message Processor 無法連線。
- 更新完成後,請確保可存取訊息處理器。
使用靜默設定檔
您必須將靜默設定檔傳遞至更新指令。無聲設定檔應與用於安裝 Edge 4.16.09 的設定檔相同。
在有外部網際網路連線的節點上,更新至 4.17.09 的程序
請使用下列程序更新節點上的 Edge 元件:
- 如果有,請停用任何設定為在 Cassandra 上執行修復作業的 CRON 工作,直到更新完成為止。
- 以 root 身分登入節點,安裝 Edge RPM。
注意:雖然 RPM 安裝作業需要 Root 存取權,但您可以在沒有 Root 存取權的情況下執行邊緣設定。 - 安裝 yum-utils 和 yum-plugin-priorities:
> sudo yum install yum-utils
> sudo yum install yum-plugin-priorities - 按照「安裝 Edge apigee-setup 公用程式」中的說明,停用 SELinux。
- 按照上述步驟啟用 EPEL 存放區。
- 如果您是在 AWS 上安裝,請執行以下 yum-configure-manager 指令:
> sudo yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional - 將 Edge 4.17.09 的 bootstrap_4.17.09.sh 檔案下載至 /tmp/bootstrap_4.17.09.sh:
> curl https://software.apigee.com/bootstrap_4.17.09.sh -o /tmp/bootstrap_4.17.09.sh - 安裝 Edge 4.17.09 apigee-service 公用程式和依附元件:
> sudo bash /tmp/bootstrap_4.17.09.sh apigeeuser=uName apigeepassword=pWord
其中 uName:pWord 是您從 Apigee 收到的使用者名稱和密碼。如果您省略 pWord,系統會提示您輸入。
根據預設,安裝程式會檢查您是否已安裝 Java 1.8。如未安裝,系統會為您安裝。使用 JAVA_FIX 選項指定處理 Java 安裝的方式。JAVA_FIX 採用下列值:
I = 安裝 OpenJDK 1.8 (預設)
C = 在不安裝 Java 的情況下繼續操作
Q = Quit。使用這個選項時,您必須自行安裝 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 - 按照下方「機器更新順序」所述的順序,在節點上執行更新公用程式:
> /opt/apigee/apigee-setup/bin/update.sh -c component -f configFile
設定檔唯一的要求是,設定檔必須可供「apigee」使用者存取或讀取。
請使用「-c」選項指定要更新的元件。可能的元件清單包括:
ldap = OpenLDAP
cs = Cassandra
zk = Zookeeper
qpid = qpidd
ps = postgresql
edge =除了 Edge UI 以外的所有 Edge 元件:管理伺服器、訊息處理器、路由器、QPID 伺服器、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 公用程式,即可測試更新。
如要日後回復更新,請使用 4.17.09 回復程序所述的程序。
從本機存放區更新至 4.17.09 的程序
如果 Edge 節點位於防火牆後方,或以其他方式遭到禁止透過網際網路存取 Apigee 存放區,您可以從 Apigee 存放區的本機存放區或鏡像執行更新。
建立本機 Edge 存放區後,您可以透過兩種方式從本機存放區更新 Edge:
- 建立存放區的 .tar 檔案、將 .tar 檔案複製到節點,然後從 .tar 檔案更新 Edge。
- 在節點上安裝本機存放區的 webserver,以便其他節點存取。Apigee 提供 Nginx 網路伺服器供您使用,您也可以使用自己的網路伺服器。
如要從本機 4.17.09 存放區更新:
- 按照「安裝 Edge apigee-setup 公用程式」一文中的「建立本機 Apigee 存放區」一節所述,建立本機 4.17.09 存放區。
注意:如果已有 4.16.09 存放區,可以按照安裝 Edge apigee-setup 公用程式的「更新本機 Apigee 存放區」一節所述,將 4.17.09 存放區新增至該存放區。 -
如要從 .tar 檔案安裝 apigee-service:
- 在含有本機存放區的節點上,使用下列指令將本機存放區封裝為名為 /opt/apigee/data/apigee-mirror/apigee-4.17.09.tar.gz 的單一.tar 檔案:
> /opt/apigee/apigee-service/bin/apigee-service apigee-mirror package - 將 .tar 檔案複製到要更新 Edge 的節點。例如,將檔案複製到新節點的 /tmp 目錄。
- 在新節點上,將檔案解壓縮至 /tmp 目錄:
> tar -xzf apigee-4.17.09.tar.gz
這個指令會在包含 .tar 檔案的目錄中建立名為 repos 的新目錄。例如 /tmp/repos。 - 從 /tmp/repos 安裝 Edge apigee-service 公用程式和依附元件:
> sudo bash /tmp/repos/bootstrap_4.17.09.sh apigeeprotocol="file://" apigeerepobasepath=/tmp/repos
請注意,您必須在這個指令中加入 repos 目錄的路徑。
- 在含有本機存放區的節點上,使用下列指令將本機存放區封裝為名為 /opt/apigee/data/apigee-mirror/apigee-4.17.09.tar.gz 的單一.tar 檔案:
-
如何使用 Nginx 網路伺服器安裝 apigee-service:
- 按照安裝 Edge apigee-setup 公用程式,按照「使用 Nginx 網路伺服器從存放區安裝」一節的說明,設定 Nginx 網路伺服器。
- 在遠端節點上,將 Edge bootstrap_4.17.09.sh 檔案下載至 /tmp/bootstrap_4.17.09.sh:
> /usr/bin/curl http://uName:pWord@remoteRepo:3939/bootstrap_4.17.09.sh -o /tmp/bootstrap_4.17.09.sh
其中 uName:pWord 是您在上述設定的使用者名稱和密碼,而 remoteRepo 則是 repo 節點的 IP 位址或 DNS 名稱。 - 在遠端節點上安裝 Edge apigee-service 公用程式和依附元件:
> sudo bash /tmp/bootstrap_4.17.09.sh apigeerepohost=remoteRepo:3939 apigeeuser=uName apigeepassword=pWord apigeeprotocol=http://
其中 uName:pWord 是 repo 使用者名稱和密碼。
- 使用 apigee-service 更新 apigee-setup 公用程式:
>> /opt/apigee/service/bin/apigee-service apigee-setup update - 更新管理 Server 上的 apigee-validate 公用程式。
> /opt/apigee/apigee-service/bin/apigee-service apigee-validate update - 更新 apigee-provision 公用程式:
>> /opt/apigee/apigee-service/bin/apigee-service apigee-provision update - 請按照下方「機器更新順序」一節所述的順序,在節點上執行更新公用程式:
> /opt/apigee/apigee-setup/bin/update.sh -c component -f configFile
設定檔唯一的要求是,設定檔必須可供「apigee」使用者存取或讀取。
請使用「-c」選項指定要更新的元件。可能的元件清單包括:
ldap = OpenLDAP
cs = Cassandra
zk = Zookeeper
qpid = qpidd
ps = postgresql
edge =所有 Edge 安裝元件 (E Edge UI: Management Server、Message Processor、 Router 路由器、QPID Server 設定檔) 的所有 Edge 安裝元件
E Edge UI、Message Processor、 Router 路由器、QPID 伺服器上的所有邊緣安裝 API 全部元件
ps = Postgresql
edge = 所有邊緣安裝元件 - 如測試安裝程序所述,在管理伺服器上執行 apigee-validate 公用程式,即可測試更新。
如要稍後復原更新,請使用 4.17.09 復原程序中所述的程序。
機器更新順序
更新 Edge 安裝中的機器順序非常重要。更新時最重要的考量事項如下:
- 您必須先更新 所有 Cassandra 和 ZooKeeper 節點,再更新任何其他節點。
- 對於任何具有多個 Edge 元件 (管理伺服器、訊息處理器、路由器、QPID 伺服器,但不包括 Postgres 伺服器) 的機器,請使用「-c edge」選項同時更新所有元件。
- 如果步驟指定應在多部機器上執行,請按照指定的機器順序執行。
- 你不需要另外採取任何步驟來更新營利功能。當您指定「-c 邊緣」選項時,這個項目就會更新。
針對 1 主機獨立安裝
- 如果您已在 Edge 上啟用 SMTP,請在設定檔中設定 SMTPMAILFROM。這個參數的格式為:
SMTPMAILFROM="My Company <myco@company.com>" - 更新 Cassandra 和 ZooKeeper:
> /opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile - 設定以下 iptables 規則:
> sudo iptables -A INPUT -p tcp --destination-port 5672 ! -s `hostname` -i eth0 -j DROP - 查看 Qpid 訊息佇列:
> qpid-stat -q
繼續查看佇列,直到「msg」欄中的計數為 0 為止。您必須先處理所有訊息,才能升級 Qpid。 - 更新 qpidd:
> /opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile - 清除 iptables:
> sudo iptables -F - 更新 postgresql:
> /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile - 啟動 postgresql:
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql start - 更新 LDAP:
> /opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile - 更新其他 Edge 元件:
> /opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile - 更新 Edge UI:
> /opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile
2 個主機的獨立安裝
如需 Edge 拓撲和節點編號清單,請參閱「安裝拓撲」。
- 如果您已在 Edge 上啟用 SMTP,請在設定檔中設定 SMTPMAILFROM。這個參數的格式為:
SMTPMAILFROM="My Company <myco@company.com>" - 在機器 1 中更新 Cassandra 和 ZooKeeper:
> /opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile - 在機器 2 上設定以下 iptables 規則:
> sudo iptables -A INPUT -p tcp --destination-port 5672 ! -s `hostname` -i eth0 -j DROP - 檢查機器 2 上的 Qpid 訊息佇列:
> qpid-stat -q
繼續檢查佇列,直到「msg」欄中的計數為 0 為止。您必須等到 Qpid 處理完所有訊息後,才能升級。 - 在機器 2 上更新 qpidd:
> /opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile - 在機器 2 上清除 iptables:
> sudo iptables -F - 在機器 2 上更新 postgresql:
> /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile - 在機器 2 上啟動 postgresql:
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql start - 更新機器 1 上的 LDAP:
> /opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile - 更新機器 2 和 1 上的 Edge 元件:
> /opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile - 更新機器 1 上的 UI:
> /opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile
如為 5 主機叢集安裝
如需 Edge 拓撲和節點編號清單,請參閱「安裝拓撲」。
- 如果您已在 Edge 上啟用 SMTP,請在設定檔中設定 SMTPMAILFROM。這個參數的格式為:
SMTPMAILFROM="My Company <myco@company.com>" - 在機器 1、2 和 3 上更新 Cassandra 和 ZooKeeper:
> /opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile - 在機器 4 上設定以下 iptables 規則:
> sudo iptables -A INPUT -p tcp --destination-port 5672 ! -s `hostname` -i eth0 -j DROP - 查看機器 4 上的 Qpid 訊息佇列:
> qpid-stat -q
繼續查看佇列,直到「msg」欄中的計數為 0 為止。您必須等到 Qpid 處理完所有訊息後,才能升級。 - 在機器 4 上更新 qpidd:
> /opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile - 在機器 4 上清除 iptables:
> sudo iptables -F - 在機器 5 上重複步驟 3 到 6。
- 在機器 4 上更新 postgresql:
> /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile - 在機器 4 上啟動 postgresql:
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql start - 重複執行電腦 5 的步驟 8 和 9。
- 更新機器 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 - 更新機器 1 上的 UI:
> /opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile
針對 9 主機叢集安裝
如需 Edge 拓撲和節點編號清單,請參閱「安裝拓撲」。
- 如果您已在 Edge 上啟用 SMTP,請在設定檔中設定 SMTPMAILFROM。這個參數的格式為:
SMTPMAILFROM="My Company <myco@company.com>" - 在機器 1、2 和 3 上更新 Cassandra 和 ZooKeeper:
> /opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile - 在機器 6 上設定以下 iptables 規則:
> sudo iptables -A INPUT -p tcp --destination-port 5672 ! -s `hostname` -i eth0 -j DROP - 檢查機器 6 上的 Qpid 訊息佇列:
> qpid-stat -q
繼續檢查佇列,直到「msg」欄中的計數為 0 為止。您必須先處理所有訊息,才能升級 Qpid。 - 在機器 6 上更新 qpidd:
> /opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile - 在機器 6 上清除 iptables:
> sudo iptables -F - 在機器 7 上重複執行步驟 3 到 6。
- 更新機器 6 上的 postgresql:
> /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile - 在機器 6 上啟動 postgresql:
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql start - 在機器 7 上重複步驟 8 和 9。
- 在機器 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 - 更新機器 1 中的 UI:
> /opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile
適用於 13 主機叢集式安裝
如需 Edge 拓撲和節點編號清單,請參閱安裝拓撲。
- 如果您已在 Edge 上啟用 SMTP,請在設定檔中設定 SMTPMAILFROM。這個參數的格式為:
SMTPMAILFROM="My Company <myco@company.com>" - 在機器 1、2 和 3 上更新 Cassandra 和 ZooKeeper:
> /opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile - 在機器 12 上設定下列 iptable 規則:
> sudo iptables -A INPUT -p tcp --destination-port 5672 !-s `hostname` -i eth0 -j DROP - 檢查機器 12 上的 Qpid 訊息佇列:
> qpid-stat -q
繼續檢查佇列,直到「msg」欄中的計數為 0 為止。您必須先處理所有訊息,才能升級 Qpid。 - 在機器 12 上更新 qpidd:
> /opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile - 在機器 12 上清除 iptables:
> sudo iptables -F - 在機器 13 上重複步驟 3 到 6。
- 在機器 12 上更新 postgresql:
> /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile - 在機器 12 上啟動 postgresql:
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql start - 在機器 13 上重複步驟 8 和 9。
- 在機器 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 - 更新機器 6 和 7 中的 UI:
> /opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile
適用於 12 主機叢集式安裝
如需 Edge 拓撲和節點編號清單,請參閱「安裝拓撲」。
- 如果您已在 Edge 上啟用 SMTP,請在設定檔中設定 SMTP MailFROM。這個參數的格式為:
SMTPMAILFROM="My Company <myco@company.com>" - 更新 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
- 在機器 4 上設定以下 iptables 規則:
> sudo iptables -A INPUT -p tcp --destination-port 5672 ! -s `hostname` -i eth0 -j DROP - 查看機器 4 上的 Qpid 訊息佇列:
> qpid-stat -q
繼續查看佇列,直到「msg」欄中的計數為 0。您必須等到 Qpid 處理完所有訊息後,才能升級。 - 在機器 4 上更新 qpidd:
> /opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile - 在機器 4 上清除 iptables:
> sudo iptables -F - 在機器 5 上重複步驟 1 至 4。
- 在機器 4 上設定以下 iptables 規則:
- 資料中心 2 中的機器 10、11
- 在機器 10 上設定以下 iptables 規則:
> sudo iptables -A INPUT -p tcp --destination-port 5672 ! -s `hostname` -i eth0 -j DROP - 檢查機器 10 上的 Qpid 訊息佇列:
> qpid-stat -q
繼續檢查佇列,直到「msg」欄中的計數為 0。您必須等到 Qpid 處理完所有訊息後,才能升級。 - 在機器 10 上更新 qpidd:
> /opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile - 在機器 10 上清除 iptables:
> sudo iptables -F - 在機器 11 上重複執行步驟 1 到 4。
- 在機器 10 上設定以下 iptables 規則:
- 資料中心 1 中的機器 4 和 5
-
更新 postgresql:
-
資料中心 1 中的機器 6
> /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql start -
Data Center 2 中的機器 12
> /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
> /opt/apigee-service/bin/apigee-service apigee-postgresql start
-
- 更新 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 - Data Center 2 中的機器 10、11、12、7、8、9
> /opt/apigee/apigee-setup/bin/update.sh -c Edge -f configFile
- 資料中心 1 中的機器 4、5、6、1、2、3
- 更新使用者介面:
- 資料中心 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 安裝
# For a single data center, specify the same value as BAAS_CASS_LOCALDC. BAAS_CASS_DC_LIST="dc-1" # Defines the initial contact points for members of the BaaS cluster. # Specify the IP address of no more than two Stack nodes. BAAS_CLUSTER_SEEDS="dc-1:$IP4,dc-1:$IP5" # Specify the from address of generated emails. SMTPMAILFROM="My Company <myco@company.com>"
如需完整的設定檔範例,請參閱 API BaaS 安裝。
您也必須確保所有 Stack 節點都已開啟通訊埠 2551,以便從所有其他 Stack 節點存取。
如需 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 Portal:
> /opt/apigee/apigee-setup/bin/update.sh -c p -f configFile
適用於 10 個主機的 API BaaS 安裝程序
# For a single data center, specify the same value as BAAS_CASS_LOCALDC. BAAS_CASS_DC_LIST="dc-1" # Defines the initial contact points for members of the BaaS cluster. # Specify the IP address of no more than two Stack nodes. BAAS_CLUSTER_SEEDS="dc-1:$IP4,dc-1:$IP5" # Specify the from address of generated emails. SMTPMAILFROM="My Company <myco@company.com>"
如需完整的設定檔範例,請參閱「API BaaS 安裝」。
您也必須確保所有 Stack 節點都已開啟通訊埠 2551,以便從所有其他 Stack 節點存取。
如需 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 Portal:
> /opt/apigee/apigee-setup/bin/update.sh -c p -f configFile
非標準安裝
如果您採用非標準安裝方式,請依下列順序更新 Edge 元件:
- ZooKeeper
- Cassandra
- qpidd、ps
- LDAP
- Edge,即所有節點上的「-c edge」設定檔,依序為:含有 Qpid 伺服器的節點、Postgres 伺服器、管理伺服器、訊息處理器和路由器。
注意:如果節點同時安裝 Qpid 伺服器和 Postgres 伺服器,請執行「-c edge」設定檔步驟。 - Edge UI