將 Apigee Edge 4.16.01.x 更新至 4.16.01 版

本文件內含更新現有 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 在更新程序期間已啟動並執行:

    &gt; /<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

如果使用者無法存取 /tmpupdate.sh 公用程式就會失敗。

零停機時間更新

零停機時間更新或滾動式更新可讓您在沒有停機時間的情況下更新 Edge 安裝作業 進而關閉 Edge

升級到零停機時間的關鍵,在於從負載中逐一移除每個路由器,一次一個 。接著在路由器上更新路由器和任何其他元件,這些元件與路由器相同。 然後將路由器加回負載平衡器

  1. 請依照下方「訂單」一節的說明,按照正確的安裝順序更新機器 機器更新」
  2. 需要更新路由器時,請選取任一路由器並設為無法連線,如下所示: ,即「設定無法連上路由器和訊息處理器」一節。
  3. 在與路由器相同的機器上,更新所選路由器和所有其他 Edge 元件。 所有邊緣設定會在相同節點上顯示路由器和訊息處理器。
  4. 重新連線至路由器。
  5. 針對其餘的路由器,重複步驟 2 到 4。
  6. 請繼續為安裝中其餘的機器進行更新。

建立路由器 無法連線至訊息處理器

在實際工作環境的設定中,您會有多個路由器和訊息處理器 最佳效能,且您必須啟用/停用這些路由器和訊息的可連性功能 更新前後的處理器。

下列 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

更新前後請謹慎處理下列事項:

  • 在合併的路由器和訊息處理器節點上:
    • 更新前 - 執行下列動作:
      1. 使用上述的 API 呼叫來連線至路由器。
      2. 將無法連線至訊息處理器設為連線。
    • 更新後,請執行下列步驟:
      1. 請連線至訊息處理器。
      2. 將路由器設為可連線。
  • 在單一路由器節點上:
    • 在更新前,請將路由器設為可連線。
    • 更新後,請將路由器設為可連線。
  • 在單一訊息處理器節點上:
    • 更新前,請先設為無法連線至訊息處理器。
    • 更新後,請連線至「訊息處理器」,

使用靜音設定檔

您必須將靜音設定檔傳送至 update 指令。靜音設定檔 應與您之前安裝 Edge 4.16.01 時使用的相同。

更新程序 在具備外部網際網路連線的節點上執行 4.16.01

請使用下列程序更新節點上的 Edge 元件:

  1. 如果有 CRON 工作顯示,則請停用在 Cassandra 上執行修復作業的所有 CRON 工作 直到更新完成為止
  2. 以根權限登入節點,安裝邊緣 RPM
    注意:雖然 RPM 安裝作業需要 Root 存取權,但你可以執行 Edge 沒有根目錄存取權的話
  3. 按照 Apigee Edge 4.16.01 安裝項目中的說明停用 SELinux Apigee FTP 網站指南:ftp://ftp.apigee.com/
  4. 清除所有 Yum 快取:
    &gt;sudo yum 清理 全部
  5. 下載最新的 Edge Bootstrap.sh 檔案至 /tmp/bootstrap.sh:
    &gt;curl https://software.apigee.com/bootstrap.sh -o /tmp/bootstrap.sh
  6. 更新 Edge apigee-service 公用程式並 依附元件:
    &gt;sudo bash /tmp/bootstrap.sh apigeeuser=uName apigeepassword=pWord

    其中 uName:pWord 是您輸入的使用者名稱和密碼 。如果省略 pWord,系統會提示您 輸入。
  7. 使用 apigee-service 可以 更新 apigee-setup 公用程式:
    &gt; /opt/apigee/apigee-service/bin/apigee-service apigee-setup update
    這會更新至 apigee-service 安裝 update.sh 公用程式 在 &lt;inst_dir&gt;/apigee/apigee-setup/bin
  8. 依照以下「機器順序」一節的說明,在節點上執行更新公用程式 更新」如下:
    &gt; /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 入口網站
  9. 在訊息上執行 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 存放區更新:

  1. 確認您已有 Apigee Edge 中所述的本機 4.16.01 存放區 4.16.01 安裝指南,可在 Apigee FTP 網站取得:ftp://ftp.apigee.com/
  2. 更新本機存放區:
    1. 下載最新的 Edge Bootstrap.sh 檔案至 /tmp/bootstrap.sh
      &gt;curl https://software.apigee.com/bootstrap.sh -o /tmp/bootstrap.sh
    2. 執行同步處理作業:
      &gt; /opt/apigee/apigee-service/bin/apigee-service apigee-Mirror sync --only-new-rpms
  3. 如要從 .tar 檔案安裝 apigee-service:
    1. 在含有本機存放區的節點上,使用下列指令來封裝本機存放區 複製到名為 /opt/apigee/data/apigee-mirror/apigee-4.16.01.tar.gz 的單一.tar 檔案:
      &gt; /opt/apigee/apigee-service/bin/apigee-service apigee-Mirror 套件
    2. 將 .tar 檔案複製到要更新 Edge 的節點。例如,請複製到 上的 /tmp 目錄 新節點
    3. 在新節點上,將檔案解壓縮至 /tmp 目錄:
      &gt;tar -xzf apigee-4.16.01.tar.gz
      這個指令會建立新的目錄 位於包含 .tar 檔案的目錄中例如: /tmp/repos.
    4. 以根權限登入節點,安裝邊緣 RPM
      注意:雖然 RPM 安裝作業需要 Root 存取權,但你可以執行 Edge 沒有根目錄存取權的話
    5. 按照 Apigee Edge 中的說明停用 SELinux 4.16.01 安裝指南,可在 Apigee FTP 網站取得:ftp://ftp.apigee.com/
    6. 安裝 Edge apigee-service 公用程式和依附元件 來自 /tmp/repos:
      &gt;sudo bash /tmp/repos/bootstrap.sh apigeeprotocol="file://apigeerepobasepath=/tmp/repos
      請注意,您已加入 複製到存放區目錄
  4. 使用 Nginx 網路伺服器安裝 apigee-service:
    1. 按照「使用 Nginx 從存放區安裝」一節的說明,設定 Nginx 網路伺服器 webserver&quot;請參閱 Apigee 提供的 Edge 4.16.01 安裝指南。 FTP 網站:ftp://ftp.apigee.com/
    2. 在遠端節點上,將 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.

    3. 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.
    4. Disable SELinux as described in the Apigee Edge 4.16.01 Installation Guide, available on the Apigee FTP site: ftp://ftp.apigee.com/
    5. 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.
  5. If present, disable any CRON jobs configured to perform a repair operation on Cassandra until after the update completes.
  6. 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.
  7. 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
  8. 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

  1. Update machine 1:
    > /opt/apigee/apigee-setup/bin/update.sh -c all -f configFile
  2. 刪除 /opt/nginx/conf.d 中的所有檔案:
    &gt;rm -f /opt/nginx/conf.d/*
  3. 重新啟動邊緣路由器:
    &gt; /<inst_root>/apigee/apigee-service/bin/apigee-service Edge-router 重新啟動

獨立 2 主機 安裝

查看 Apigee FTP 提供的 Apigee Edge 4.16.01 安裝指南 網站:ftp://ftp.apigee.com/,可查看 Edge 拓撲和節點編號清單。

  1. 在機器 1 上更新 Cassandra 和 ZooKeeper:
    > /opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile
  2. 在機器 2 上更新 qpidd 和 postgresql:
    > /opt/apigee/apigee-setup/bin/update.sh -c qpid,ps -f configFile
  3. 在電腦 1 上更新 LDAP:
    > /opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile
  4. 更新機器 2 和機器 1 上的邊緣元件:
    > /opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
  5. 在節點 1 上:
    1. 刪除 /opt/nginx/conf.d 中的所有檔案:
      > rm -f /opt/nginx/conf.d/*
    2. 重新啟動 Edge 路由器:
      > /<inst_root>/apigee/apigee-service/bin/apigee-service edge-router restart
  6. 更新裝置 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. 在機器 1、2 和 3 上更新 Cassandra 和 ZooKeeper:
    > /opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile
  2. 更新機器 4 和 5 上的 qpidd 和 postgresql:
    > /opt/apigee/apigee-setup/bin/update.sh -c qpid,ps -f configFile
  3. 在電腦 1 上更新 LDAP:
    > /opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile
  4. 更新機器 4、5、1、2、3 上的 Edge 元件:
    > /opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
  5. 在節點 2 和 3 上:
    1. 刪除 /opt/nginx/conf.d 中的所有檔案:
      > rm -f /opt/nginx/conf.d/*
    2. 重新啟動 Edge 路由器:
      > /<inst_root>/apigee/apigee-service/bin/apigee-service edge-router restart
  6. 更新裝置 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. 在機器 1、2 和 3 上更新 Cassandra 和 ZooKeeper:
    > /opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile
  2. 更新機器 6 和 7 上的 qpidd:
    > /opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile
  3. 在機器 8 和 9 上更新 postgresql:
    > /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
  4. 在電腦 1 上更新 LDAP:
    > /opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile
  5. 請依照下列順序更新機器 6、7、8、9、1、4 和 5 上的 Edge 元件:
    > /opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
  6. 在節點 4 和 5 上:
    1. 刪除 /opt/nginx/conf.d 中的所有檔案:
      > rm -f /opt/nginx/conf.d/*
    2. 重新啟動 Edge 路由器:
      > /<inst_root>/apigee/apigee-service/bin/apigee-service edge-router restart
  7. 更新裝置 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. 在機器 1、2 和 3 上更新 Cassandra 和 ZooKeeper:
    > /opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile
  2. 在機器 12 和 13 上更新 qpidd:
    >
        /opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile
  3. 在機器 8 和 9 上更新 postgresql:
    >
        /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
  4. 在電腦 4 和 5 上更新 LDAP:
    > /opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile
  5. 請依照下列順序更新機器 12、13、8、9、6、7、10 和 11 上的 Edge 元件:
    > /opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
  6. 在節點 10 和 11 上:
    1. 刪除 /opt/nginx/conf.d 中的所有檔案:
      > rm -f /opt/nginx/conf.d/*
    2. 重新啟動 Edge 路由器:
      > /<inst_root>/apigee/apigee-service/bin/apigee-service edge-router restart
  7. 更新機器 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 拓撲和節點編號清單。

  1. 更新 Cassandra 和 ZooKeeper:
    1. 在資料中心 1 的機器 1、2 和 3 中:
      > /opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile
    2. 位於資料中心 2 中的機器 7、8 和 9
      > /opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile
  2. 更新 qpidd:
    1. 資料中心 1 中的機器 4、5 部
      > /opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile
    2. 資料中心 2 中的機器 10、11
      > /opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile
  3. 更新 postgresql:
    1. 資料中心 1 中的機器 6
      > /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
    2. 資料中心 2 中的機器 12
      > /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
  4. 更新 LDAP:
    1. 資料中心 1 中的機器 1
      > /opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile
    2. 資料中心 2 中的機器 7
      > /opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile
  5. 更新 Edge 元件:
    1. 資料中心 1 中的機器 4、5、6、1、2、3
      > /opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
    2. 資料中心 2 中的機器 10、11、12、7、8、9
      > /opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
    3. 在節點 2、3、8 和 9 上:
      1. 刪除 /opt/nginx/conf.d 中的所有檔案:
        > rm -f /opt/nginx/conf.d/*
      2. 重新啟動 Edge 路由器:
        > /<inst_root>/apigee/apigee-service/bin/apigee-service edge-router restart
  6. 更新 UI:
    1. 資料中心 1 中的機器 1
      > /opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile
    2. 資料中心 2 中的機器 7
      > /opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile

7 主機 API BaaS 安裝

查看 Apigee FTP 提供的 Apigee Edge 4.16.01 安裝指南 網站:ftp://ftp.apigee.com/,可查看 Edge 拓撲和節點編號清單。

  1. 在機器 5、6 和 7 上更新 Cassandra:
    > /opt/apigee/apigee-setup/bin/update.sh -c cs -f configFile
  2. 在機器 1、2 和 3 上更新 ElasticSearch 和 API BaaS 堆疊:
    > /opt/apigee/apigee-setup/bin/update.sh -c e,b -f configFile
  3. 在機器 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 拓撲和節點編號清單。

  1. 在機器 8、9 與 10 上更新 Cassandra:
    > /opt/apigee/apigee-setup/bin/update.sh -c cs -f configFile
  2. 在機器 1、2 和 3 上更新 ElasticSearch:
    > /opt/apigee/apigee-setup/bin/update.sh -c e -f configFile
  3. 在機器 4、5 和 6 上更新 API BaaS 堆疊:
    > /opt/apigee/apigee-setup/bin/update.sh -c b -f configFile
  4. 在機器 7 上更新 API BaaS 入口網站:
    > /opt/apigee/apigee-setup/bin/update.sh -c p -f configFile

非標準安裝

如果您安裝的是非標準版本,請在下方更新 Edge 元件 順序:

  1. ZooKeeper
  2. Cassandra
  3. qpidd
  4. postgresql
  5. LDAP
  6. 邊緣,表示「-c 邊緣」依序為所有節點建立設定檔:Qpid、Postgres、管理 伺服器、訊息處理器、路由器
  7. 在所有路由器節點上:
    1. 刪除 /opt/nginx/conf.d 中的所有檔案:
      > rm -f /opt/nginx/conf.d/*
    2. 重新啟動 Edge 路由器:
      > /<inst_root>/apigee/apigee-service/bin/apigee-service edge-router restart
  8. UI