升级到新版本
请按照以下步骤将 Apigee Hybrid 升级到新版本:
下载并安装新版 apigeectl
。
apigeectl 是用于在 Kubernetes 集群中安装和管理 Apigee Hybrid 的命令行界面 (CLI)。
下载您要升级到的 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