將 Apigee Edge 4.16.05.x 更新至 4.16.05 版

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 在更新程序期間已啟動並執行:

    &gt; /<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 個節點設定完成。

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

  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.05 時使用的相同。

更新程序 4.16.05 (位於具備外部網際網路連線的節點)

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

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

    其中 uName:pWord 是原始的使用者名稱和密碼 Apigee。如果您省略 pWord,系統會提示您輸入。
  7. 使用 apigee-service 更新 apigee-setup 公用程式:
    &gt; /opt/apigee/apigee-service/bin/apigee-service apigee-setup update

    更新後,Apigee-service 會在 /<inst_dir>/apigee/apigee-setup/bin 安裝 update.sh 公用程式。
  8. 依照以下「機器順序」一節的說明,在節點上執行更新公用程式 更新」如下:
    &gt; /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 入口網站
  9. 執行 apigee-validate 公用程式,測試安裝來測試更新。

從本機更新 4.16.05 的程序 存放區

如果您的 Edge 節點在防火牆後面,或以其他方式遭禁止存取 透過網際網路取得 Apigee 存放區,接著您可以從本機存放區執行更新 或鏡像功能

建立本機 Edge 存放區後,您可以透過兩種方式更新 Edge 本機存放區:

  • 建立存放區的 .tar 檔案,將 .tar 檔案複製到節點,然後從 .tar 檔案。
  • 在含有本機存放區的節點中安裝網路伺服器,以便其他節點存取。 Apigee 提供 Nginx 網路伺服器供您使用,您也可以使用自己的 網路伺服器

如何從本機 4.16.05 存放區更新:

  1. 確認您已有本機 4.16.05 存放區,詳情請參閱「在 節點。
  2. 更新本機存放區:
    1. 下載最新的 Edge bootstrap_4.16.05.sh 檔案, /tmp/bootstrap_4.16.05.sh
      &gt;curl https://software.apigee.com/bootstrap_4.16.05.sh -o /tmp/bootstrap_4.16.05.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.05.tar.gz 的單一.tar 檔案:
      &gt; /opt/apigee/apigee-service/bin/apigee-service apigee-Mirror 套件
    2. 將 .tar 檔案複製到要更新 Edge 的節點。例如,請複製到 上的 /tmp 目錄 新節點
    3. 在新節點上,將檔案解壓縮至 /tmp 目錄:
      >tar -xzf apigee-4.16.05.tar.gz

      這個指令會在包含 .tar 的目錄中建立新的目錄 (名稱為存放區) 檔案。例如 /tmp/repos。
    4. 以根權限登入節點,安裝邊緣 RPM
      注意:雖然 RPM 安裝作業需要 Root 存取權,但你可以執行 Edge 沒有根目錄存取權的話
    5. 按照安裝 Edge 的說明停用 SELinux apigee-setup 公用程式
    6. 從 /tmp/repos 安裝 Edge apigee-service 公用程式和依附元件:
      &gt;sudo bash /tmp/repos/bootstrap_4.16.05.sh apigeeprotocol="file:// apigeerepobasepath=/tmp/repos

      請注意,您會在這個指令中加入存放區目錄的路徑。
  4. 使用 Nginx 網路伺服器安裝 apigee-service:
    1. 按照「使用 Nginx 從存放區安裝」一節的說明,設定 Nginx 網路伺服器 webserver&quot;安裝於 節點上的邊緣元件
    2. 在遠端節點上,下載 Edge bootstrap_4.16.05.sh 檔案, /tmp/bootstrap_4.16.05.sh:
      &gt;/usr/bin/curl http://uName:pWord@remoteRepo:3939/bootstrap_4.16.05.sh -o /tmp/bootstrap_4.16.05.sh

      其中 uName:pWord 是您在上方設定的使用者名稱和密碼 存放區,而 remoteRepo 是 存放區節點
    3. 以根權限登入節點,安裝邊緣 RPM
      注意:雖然 RPM 安裝作業需要 Root 存取權,但你可以執行 Edge 沒有根目錄存取權的話
    4. 按照安裝 Edge 的說明停用 SELinux apigee-setup 公用程式
    5. 在遠端節點上,安裝 Edge apigee-service 公用程式和依附元件:
      &gt;sudo bash /tmp/bootstrap_4.16.05.sh apigeerepohost=remoteRepo:3939 apigeeuser=uNamea pigeepassword=pWord apigeeprotocol=http://

      其中 uName:pWord 是存放區的使用者名稱和密碼。
  5. 如果有 CRON 工作顯示,則請停用在 Cassandra 上執行修復作業的所有 CRON 工作 直到更新完成為止
  6. 使用 apigee-service 更新 apigee-setup 公用程式:
    &gt; /opt/apigee/apigee-service/bin/apigee-service apigee-setup update

    更新後,Apigee-service 會在 &lt;inst_dir&gt;/apigee/apigee-setup/bin 安裝 update.sh 公用程式。
  7. 依照以下「機器順序」一節的說明,在節點上執行更新公用程式 更新」如下:
    &gt; /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 入口網站
  8. 執行 apigee-validate 公用程式,測試安裝來測試更新。

機器更新順序

您在 Edge 安裝程序中更新機器的順序相當重要。最常出現 更新時的重要注意事項如下:

  • 您必須先更新「所有」Cassandra 和 ZooKeeper 節點,才能更新任何節點 和其他節點
  • 您必須先更新「所有」qpidd 和 postgresql 節點,才能更新任何 路由器和訊息處理器節點。
  • 適用於具備多個 Edge 元件 (管理伺服器、訊息處理器) 的任何機器 路由器、QPID 伺服器、Postgres 伺服器),使用「-c 邊緣」一次更新多個項目 讓應用程式從可以最快做出回應的位置 回應使用者要求
  • 如果步驟指定應在多部機器上執行,請在該步驟中執行 指定的機器順序
  • 更新營利設定無須另外執行一個步驟。這個清單會在您指定「-c」時更新 邊緣」如果有需要 SQL 指令的分析工作負載 則 BigQuery 可能是最佳選擇
  • 更新路由器節點後,您必須從 /opt/nginx/conf.d 目錄中移除所有檔案。 然後重新啟動路由器

單獨使用 安裝

  1. 更新機器 1:
    &gt; /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 主機 安裝

請參閱安裝 適用於 Edge 拓撲和節點編號清單的拓撲。

  1. 在機器 1 上更新 Cassandra 和 ZooKeeper:
    &gt; /opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile
  2. 在機器 2 上更新 qpidd 和 postgresql:
    &gt; /opt/apigee/apigee-setup/bin/update.sh -c qpid,ps -f configFile
  3. 在電腦 1 上更新 LDAP:
    &gt; /opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile
  4. 更新機器 2 和機器 1 上的邊緣元件:
    &gt; /opt/apigee/apigee-setup/bin/update.sh -c Edge -f configFile
  5. 在節點 1 上:
    1. 刪除 /opt/nginx/conf.d 中的所有檔案:
      &gt;rm -f /opt/nginx/conf.d/*
    2. 重新啟動邊緣路由器:
      &gt; /<inst_root>/apigee/apigee-service/bin/apigee-service Edge-router 重新啟動
  6. 在機器 1 上更新 UI:
    &gt; /opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile

針對 5 個主機叢集 安裝

請參閱安裝 適用於 Edge 拓撲和節點編號清單的拓撲。

  1. 在機器 1、2 和 3 上更新 Cassandra 和 ZooKeeper:
    &gt; /opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile
  2. 在機器 4 和 5 上更新 qpidd 和 postgresql:
    &gt; /opt/apigee/apigee-setup/bin/update.sh -c qpid,ps -f configFile
  3. 在電腦 1 上更新 LDAP:
    &gt; /opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile
  4. 更新機器 4、5、1、2、3 上的邊緣元件:
    &gt; /opt/apigee/apigee-setup/bin/update.sh -c Edge -f configFile
  5. 在節點 2 和 3 上:
    1. 刪除 /opt/nginx/conf.d 中的所有檔案:
      &gt;rm -f /opt/nginx/conf.d/*
    2. 重新啟動邊緣路由器:
      &gt; /<inst_root>/apigee/apigee-service/bin/apigee-service Edge-router 重新啟動
  6. 在機器 1 上更新 UI:
    &gt; /opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile

針對 9 主機叢集 安裝

請參閱安裝 適用於 Edge 拓撲和節點編號清單的拓撲。

  1. 在機器 1、2 和 3 上更新 Cassandra 和 ZooKeeper:
    &gt; /opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile
  2. 更新機器 6 和 7 上的 qpidd:
    &gt; /opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile
  3. 在機器 8 和 9 上更新 postgresql:
    &gt; /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
  4. 在電腦 1 上更新 LDAP:
    &gt; /opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile
  5. 請依照下列順序更新機器 6、7、8、9、1、4 和 5 上的 Edge 元件:
    &gt; /opt/apigee/apigee-setup/bin/update.sh -c Edge -f configFile
  6. 在節點 4 和 5 上:
    1. 刪除 /opt/nginx/conf.d 中的所有檔案:
      &gt;rm -f /opt/nginx/conf.d/*
    2. 重新啟動邊緣路由器:
      &gt; /<inst_root>/apigee/apigee-service/bin/apigee-service Edge-router 重新啟動
  7. 在機器 1 上更新 UI:
    &gt; /opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile

13 主機叢集 安裝

請參閱安裝 適用於 Edge 拓撲和節點編號清單的拓撲。

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

針對 12 個主機叢集 安裝

請參閱安裝 適用於 Edge 拓撲和節點編號清單的拓撲。

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

7 主機 API BaaS 安裝

請參閱安裝 適用於 Edge 拓撲和節點編號清單的拓撲。

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

10 主機 API BaaS 安裝

請參閱安裝 適用於 Edge 拓撲和節點編號清單的拓撲。

  1. 在機器 8、9 與 10 上更新 Cassandra:
    &gt; /opt/apigee/apigee-setup/bin/update.sh -c cs -f configFile
  2. 在機器 1、2 和 3 上更新 ElasticSearch:
    &gt; /opt/apigee/apigee-setup/bin/update.sh -c e -f configFile
  3. 在機器 4、5 和 6 上更新 API BaaS 堆疊:
    &gt; /opt/apigee/apigee-setup/bin/update.sh -c b -f configFile
  4. 在機器 7 上更新 API BaaS 入口網站:
    &gt; /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 中的所有檔案:
      &gt;rm -f /opt/nginx/conf.d/*
    2. 重新啟動邊緣路由器:
      &gt; /<inst_root>/apigee/apigee-service/bin/apigee-service Edge-router 重新啟動
  8. UI