升級 Apigee Hybrid

升級至新版本

如要將 Apigee hybrid 升級至新版本,請按照下列步驟操作:

下載並安裝新版 apigeectl

apigeectl 是指令列介面 (CLI),可用於在 Kubernetes 叢集中安裝及管理 Apigee hybrid。

下載要升級至的 apigeectl 版本:

  1. 下載適用於您作業系統的版本套件:

    Mac 64 位元:

    curl -LO \
        https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/version_number/apigeectl_mac_64.tar.gz

    Linux 64 位元

    curl -LO \
        https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/version_number/apigeectl_linux_64.tar.gz

    Mac 32 位元:

    curl -LO \
        https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/version_number/apigeectl_mac_32.tar.gz

    Linux 32 位元

    curl -LO \
        https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/version_number/apigeectl_linux_32.tar.gz
  2. 找出 Apigee Hybrid 初次安裝時建立的基本安裝目錄。基本目錄是 $APIGEEGTL_HOME 目錄所在的目錄。在以下範例中,基礎目錄為 /Users/myhome/hybrid

    echo $APIGEECTL_HOME
    /Users/myhome/hybrid/apigeectl
  3. 將下載的 gzip 檔案內容解壓縮至 Apigee Hybrid 基礎目錄:

    tar xvzf filename.tar.gz -C path-to-base-directory
  4. cd 至基礎目錄。
  5. 根據預設,tar 內容會解壓縮為名稱中含有版本和平台的目錄。例如:./apigeectl_1.2.0-f7b96a8_linux_64

  6. 重新命名目前的 apigeectl 目錄。舉例來說,如果目前的版本是 1.1.1,請將 apigeectl 目錄重新命名為 apigeectl_1.1.1
  7. 將新解壓縮的安裝目錄重新命名為 apigeectl。這就是環境 $APIGEECTL_HOME 指向的位置。
  8. 清理混合式執行階段命名空間的已完成工作,其中 namespace 是覆寫檔案中指定的命名空間 (如果您已指定命名空間)。如未指定,預設命名空間為 apigee
    kubectl delete job -n namespace \
      $(kubectl get job -n namespace -o=jsonpath='{.items[?(@.status.succeeded==1)].metadata.name}')
  9. 清理 apigee-system 命名空間的已完成工作:
    kubectl delete job -n apigee-system \
      $(kubectl get job -n apigee-system -o=jsonpath='{.items[?(@.status.succeeded==1)].metadata.name}')
  10. 清理 istio-system 命名空間的已完成工作:
    kubectl delete job -n istio-system \
      $(kubectl get job -n istio-system -o=jsonpath='{.items[?(@.status.succeeded==1)].metadata.name}')
  11. cd./hybrid-files 目錄:
  12. 為新版本初始化 apigeectl
    $APIGEECTL_HOME/apigeectl init -f my-overrides.yaml
  13. 檢查初始化完成的時間:
    $APIGEECTL_HOME/apigeectl check-ready -f my-overrides.yaml
  14. check-ready 通過時,請執行 apigeectl apply
    $APIGEECTL_HOME/apigeectl apply -f my-overrides.yaml
  15. 重新執行 check-ready,判斷升級何時完成。

復原升級

如要還原先前的升級,請按照下列步驟操作:

  1. 清理已完成的工作:
    kubectl delete job -n namespace $(kubectl get job -n namespace -o=jsonpath='{.items[?(@.status.succeeded==1)].metadata.name}')
  2. 在要回溯至的安裝根目錄中,執行 apigeectl init,然後執行 apigeectl apply
      $APIGEECTL_HOME/apigeectl init -f my-overrides.yaml
      $APIGEECTL_HOME/apigeectl apply -f my-overrides.yaml