升級至新版本
如要將 Apigee hybrid 升級至新版本,請按照下列步驟操作:
下載並安裝新版 apigeectl
。
apigeectl 是指令列介面 (CLI),可用於在 Kubernetes 叢集中安裝及管理 Apigee hybrid。
下載要升級至的 apigeectl
版本:
下載適用於您作業系統的版本套件:
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
- 找出 Apigee Hybrid 初次安裝時建立的基本安裝目錄。基本目錄是
$APIGEEGTL_HOME
目錄所在的目錄。在以下範例中,基礎目錄為/Users/myhome/hybrid
:echo $APIGEECTL_HOME /Users/myhome/hybrid/apigeectl
-
將下載的 gzip 檔案內容解壓縮至 Apigee Hybrid 基礎目錄:
tar xvzf filename.tar.gz -C path-to-base-directory
cd
至基礎目錄。-
根據預設,tar 內容會解壓縮為名稱中含有版本和平台的目錄。例如:
./apigeectl_1.2.0-f7b96a8_linux_64
。 - 重新命名目前的
apigeectl
目錄。舉例來說,如果目前的版本是 1.1.1,請將apigeectl
目錄重新命名為apigeectl_1.1.1
。 -
將新解壓縮的安裝目錄重新命名為
apigeectl
。這就是環境$APIGEECTL_HOME
指向的位置。 - 清理混合式執行階段命名空間的已完成工作,其中 namespace 是覆寫檔案中指定的命名空間 (如果您已指定命名空間)。如未指定,預設命名空間為
apigee
:kubectl delete job -n namespace \ $(kubectl get job -n namespace -o=jsonpath='{.items[?(@.status.succeeded==1)].metadata.name}')
- 清理
apigee-system
命名空間的已完成工作:kubectl delete job -n apigee-system \ $(kubectl get job -n apigee-system -o=jsonpath='{.items[?(@.status.succeeded==1)].metadata.name}')
- 清理
istio-system
命名空間的已完成工作:kubectl delete job -n istio-system \ $(kubectl get job -n istio-system -o=jsonpath='{.items[?(@.status.succeeded==1)].metadata.name}')
cd
至./hybrid-files
目錄:- 為新版本初始化
apigeectl
:$APIGEECTL_HOME/apigeectl init -f my-overrides.yaml
- 檢查初始化完成的時間:
$APIGEECTL_HOME/apigeectl check-ready -f my-overrides.yaml
check-ready
通過時,請執行apigeectl apply
:$APIGEECTL_HOME/apigeectl apply -f my-overrides.yaml
- 重新執行
check-ready
,判斷升級何時完成。
復原升級
如要還原先前的升級,請按照下列步驟操作:
- 清理已完成的工作:
kubectl delete job -n namespace $(kubectl get job -n namespace -o=jsonpath='{.items[?(@.status.succeeded==1)].metadata.name}')
- 在要回溯至的安裝根目錄中,執行
apigeectl init
,然後執行apigeectl apply
:$APIGEECTL_HOME
/apigeectl init -f my-overrides.yaml$APIGEECTL_HOME
/apigeectl apply -f my-overrides.yaml