升级 Apigee Hybrid

升级到新版本

请按照以下步骤将 Apigee Hybrid 升级到新版本:

下载并安装新版 apigeectl

apigeectl 是用于在 Kubernetes 集群中安装和管理 Apigee Hybrid 的命令行界面 (CLI)。

下载您要升级到的 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