将 Apigee Edge 4.18.05 更新为 4.50.00

本部分介绍了如何执行以下升级:

  • 从 4.18.05 到 4.50.00

谁可以执行更新

运行更新的用户应与最初安装 Edge 的用户相同,或以根用户身份运行。

安装 Edge RPM 后,任何用户都可以对其进行配置。

您必须更新哪些组件

您必须更新所有 Edge 组件。Edge 不支持包含多个版本组件的设置。

自动传播媒体资源设置

如果您通过修改 /opt/apigee/customer/application 中的 .properties 文件设置了任何属性,则更新会保留这些值。

更新前提条件

在升级 Apigee Edge 之前,请先满足以下前提条件:

  • 备份所有节点
    在更新之前,出于安全原因,建议您对所有节点执行完整备份。使用当前版本的 Edge 的过程来执行备份。

    这样,您就可以制定备用方案,以防新版本更新无法正常运行。如需详细了解备份,请参阅备份和恢复。

  • 确保 Edge 正在运行
    使用以下命令确保 Edge 在更新过程中正常运行:
    /opt/apigee/apigee-service/bin/apigee-all status

新版 Edge 界面

本部分列出了有关新 Edge 界面的注意事项。

安装 Edge 界面

完成初始安装后,Apigee 建议您安装 Edge 界面,这是面向 Apigee Edge for Private Cloud 开发者和管理员的增强型界面。

如需了解详情,请参阅安装新版 Edge 界面。

更新 Edge 界面

如果您在 4.18.05 中安装了 Beta 版 Edge 界面(以前称为新版 Edge 体验或 UE),则必须将其卸载,并全新安装 4.19.01、4.19.06 或 4.50.00 版 Edge 界面。如需了解详情,请参阅适用于私有云的新 Edge 界面。

处理失败的更新

如果更新失败,您可以尝试更正问题,然后再次运行 update.sh。您可以多次运行更新,它会从上次中断的位置继续更新。

如果故障要求您将更新回滚到先前版本,请参阅回滚 4.50.00 了解详情。

日志记录更新信息

默认情况下,update.sh 实用程序会将日志信息写入:

/opt/apigee/var/log/apigee-setup/update.log

如果运行 update.sh 实用程序的用户无权访问该目录,则会将日志作为名为 update_username.log 的文件写入 /tmp 目录。

如果用户无权访问 /tmp,则 update.sh 实用程序会失败。

零停机时间更新

零停机时间更新或滚动更新可让您在不关闭 Edge 的情况下更新 Edge 安装。

只有 5 节点及更大规模的配置才能实现零停机时间更新。

实现零停机时间升级的关键在于,一次从负载均衡器中移除一个路由器。然后,您需要更新路由器以及与路由器位于同一台机器上的任何其他组件,再将路由器重新添加到负载均衡器。

  1. 按照机器更新顺序中所述,以正确的顺序更新安装中的机器。
  2. 需要更新路由器时,请选择任意一个路由器并使其无法访问,如启用/停用服务器(消息处理器/路由器)可达性中所述。
  3. 更新所选路由器以及与该路由器位于同一机器上的所有其他 Edge 组件。 所有 Edge 配置都会在同一节点上显示路由器和消息处理器。
  4. 使路由器再次可访问。
  5. 对剩余的路由器重复第 2 步到第 4 步。
  6. 继续更新安装中的所有剩余机器。

在更新之前/之后,请注意以下事项:

  • 在组合的路由器和消息处理器节点上:
    • 更新前 - 执行以下操作:
      1. 使路由器无法访问。
      2. 使消息处理器无法访问。
    • 更新后 - 执行以下操作:
      1. 使消息处理器可访问。
      2. 确保路由器可访问。
  • 在单个路由器节点上:
    • 在更新之前,请使路由器无法访问。
    • 更新后,使路由器可访问。
  • 在单个消息处理器节点上:
    • 在更新之前,请使消息处理器无法访问。
    • 更新后,使消息处理器可访问。

使用静默配置文件

您必须向更新命令传递静默配置文件。静默配置文件应与您用于安装 Edge 4.18.05 的文件相同。

在具有外部互联网连接的节点上更新到 4.50.00

请按照以下步骤更新节点上的 Edge 组件:

  1. 如果存在,请停用配置为在 Cassandra 上执行修复操作的所有 CRON 作业,直到更新完成。
  2. 以 root 身份登录节点,以安装 Edge RPM。
  3. 安装 yum-utils 和 yum-plugin-priorities:
    sudo yum install yum-utils
    sudo yum install yum-plugin-priorities
  4. 按照安装 Edge apigee-setup 实用程序中的说明停用 SELinux。
  5. 如果您要在 Oracle 7.x 上安装,请运行以下命令:
    sudo yum-config-manager --enable ol7_optional_latest
  6. 如果您要在 AWS 上安装,请运行以下 yum-configure-manager 命令:
    yum update rh-amazon-rhui-client.noarch
    sudo yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional
  7. 将 Edge 4.50.00 bootstrap_4.50.00.sh 文件下载到 /tmp/bootstrap_4.50.00.sh:
    curl https://software.apigee.com/bootstrap_4.50.00.sh -o /tmp/bootstrap_4.50.00.sh
  8. 安装 Edge 4.50.00 apigee-service 实用程序和依赖项:
    sudo bash /tmp/bootstrap_4.50.00.sh apigeeuser=uName apigeepassword=pWord

    其中,uName:pWord 是您从 Apigee 收到的用户名和密码。如果您省略 pWord,系统会提示您输入。

    默认情况下,安装程序会检查您是否已安装 Java 1.8。如果您没有安装,系统会为您安装。使用 JAVA_FIX 选项指定如何处理 Java 安装。JAVA_FIX 接受以下值:

    • I:安装 OpenJDK 1.8(默认)。
    • C:继续操作,不安装 Java。
    • Q:退出。对于此选项,您必须自行安装 Java。
  9. 使用 apigee-service 更新 apigee-setup 实用程序:
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup update
  10. 更新管理服务器上的 apigee-validate 实用程序,如以下示例所示:
    /opt/apigee/apigee-service/bin/apigee-service apigee-validate update
  11. 更新管理服务器上的 apigee-provision 实用程序,如以下示例所示:
    /opt/apigee/apigee-service/bin/apigee-service apigee-provision update
  12. 按照机器更新顺序中所述的顺序在节点上运行 update 实用程序:
    /opt/apigee/apigee-setup/bin/update.sh -c component -f configFile

    其中,component 是要更新的 Edge 组件。可能的值包括:

    • "cs":Cassandra
    • “edge”:除 Edge 界面之外的所有 Edge 组件:Management Server、消息处理器、Router、QPID Server、Postgres Server
    • "ldap":OpenLDAP
    • "ps": postgresql
    • "qpid": qpidd
    • “sso”:Apigee SSO(如果您安装了 SSO)
    • "ui":Edge 界面
    • "zk": Zookeeper

    configFile 是您在 4.18.05 安装期间用于定义 Edge 组件的同一配置文件。

    您可以通过将 component 设置为“all”来针对所有组件运行 update.sh,但前提是您具有 Edge 一体化 (aio) 安装配置文件。例如:

    /opt/apigee/apigee-setup/bin/update.sh -c all -f ./sa_silent_config
  13. 在运行 Edge 界面组件的所有节点上重启该组件(如果您尚未这样做):
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart
  14. 如测试安装中所述,通过在管理服务器上运行 apigee-validate 实用程序来测试更新。

如果您稍后决定回滚更新,请使用回滚 4.50.00 中所述的过程。

从本地代码库更新到 4.50.00

如果您的 Edge 节点位于防火墙后面,或者以其他方式禁止通过互联网访问 Apigee 代码库,则您可以从 Apigee 代码库的本地代码库或镜像执行更新。

创建本地 Edge 代码库后,您可以通过以下两种方式从本地代码库更新 Edge:

  • 创建代码库的 .tar 文件,将 .tar 文件复制到节点,然后通过 .tar 文件更新 Edge。
  • 在具有本地代码库的节点上安装网络服务器,以便其他节点可以访问该代码库。 Apigee 提供了 Nginx Web 服务器供您使用,您也可以使用自己的 Web 服务器。

如需从本地 4.50.00 代码库进行更新,请执行以下操作:

  1. 按照安装 Edge apigee-setup 实用程序中的“创建本地 Apigee 代码库”中所述,创建本地 4.50.00 代码库。
  2. 如需从 .tar 文件安装 apigee-service,请执行以下操作:
    1. 在具有本地代码库的节点上,使用以下命令将本地代码库打包到名为 /opt/apigee/data/apigee-mirror/apigee-4.50.00.tar.gz 的单个 .tar 文件中:
      /opt/apigee/apigee-service/bin/apigee-service apigee-mirror package
    2. 将 .tar 文件复制到要更新 Edge 的节点。例如,将其复制到新节点上的 /tmp 目录。
    3. 在新节点上,将文件解压缩到 /tmp 目录:
      tar -xzf apigee-4.50.00.tar.gz

      此命令会在包含 .tar 文件的目录中创建一个名为 repos 的新目录。例如 /tmp/repos。

    4. 从 /tmp/repos 安装 Edge apigee-service 实用程序和依赖项:
      sudo bash /tmp/repos/bootstrap_4.50.00.sh apigeeprotocol="file://" apigeerepobasepath=/tmp/repos

      请注意,您在此命令中添加了代码库目录的路径。

  3. 如需使用 Nginx Web 服务器安装 apigee-service,请执行以下操作:
    1. 按照安装 Edge apigee-setup 实用程序中的“使用 Nginx Web 服务器从代码库安装”中的说明配置 Nginx Web 服务器。
    2. 在远程节点上,将 Edge bootstrap_4.50.00.sh 文件下载到 /tmp/bootstrap_4.50.00.sh:
      /usr/bin/curl http://uName:pWord@remoteRepo:3939/bootstrap_4.50.00.sh -o /tmp/bootstrap_4.50.00.sh

      其中,uName:pWord 是您之前为代码库设置的用户名和密码,remoteRepo 是代码库节点的 IP 地址或 DNS 名称。

    3. 在远程节点上,安装 Edge apigee-setup 实用程序和依赖项:
      sudo bash /tmp/bootstrap_4.50.00.sh apigeerepohost=remoteRepo:3939 apigeeuser=uName apigeepassword=pWord apigeeprotocol=http://

      其中 uName:pWord 是代码库用户名和密码。

  4. 使用 apigee-service 更新 apigee-setup 实用程序,如以下示例所示:
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup update 
  5. 更新管理服务器上的 apigee-validate 实用程序,如以下示例所示:
    /opt/apigee/apigee-service/bin/apigee-service apigee-validate update
  6. 更新管理服务器上的 apigee-provision 实用程序,如以下示例所示:
    /opt/apigee/apigee-service/bin/apigee-service apigee-provision update
  7. 按照机器更新顺序中所述的顺序在节点上运行 update 实用程序:
    /opt/apigee/apigee-setup/bin/update.sh -c component -f configFile

    其中:

    • component 是要更新的 Edge 组件。您通常需要更新以下组件:
      • "cs":Cassandra
      • “edge”:除 Edge 界面之外的所有 Edge 组件。“边缘”组件包括管理服务器、消息处理器、路由器、QPID 服务器和 Edge Postgres 服务器。
      • "ldap":OpenLDAP
      • "ps": postgresql
      • "qpid": qpidd
      • “sso”:Apigee SSO(如果您安装了 SSO)
      • "ui":Edge 界面
      • "zk": Zookeeper
    • configFile 是您在 4.18.05 安装期间用于定义 Edge 组件的同一配置文件。

    您可以通过将 component 设置为“all”来针对所有组件运行 update.sh,但前提是您具有 Edge 一体化 (AIO) 安装配置文件。例如:

    /opt/apigee/apigee-setup/bin/update.sh -c all -f /tmp/sa_silent_config
  8. 在运行 Edge 界面组件的所有节点上重启该组件(如果您尚未这样做):
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart
  9. 如测试安装中所述,通过在管理服务器上运行 apigee-validate 实用程序来测试更新。

如果您稍后决定回滚更新,请使用回滚 4.50.00 中所述的过程。

机器更新顺序

在 Edge 安装中更新机器的顺序非常重要:

  • 您必须先更新所有 Cassandra 和 ZooKeeper 节点,然后才能更新任何其他节点。
  • 对于具有多个 Edge 组件(管理服务器、消息处理器、路由器、QPID 服务器,但不包括 Postgres 服务器)的任何机器,请使用 -c edge 选项同时更新所有这些组件。
  • 如果某个步骤指定应在多台机器上执行,请按照指定的机器顺序执行。
  • 没有单独的步骤来更新创收。当您指定 -c edge 选项时,它会更新。

1 节点独立升级

如需将单节点独立配置升级到 4.50.00,请执行以下操作:

  1. 更新所有组件:
    /opt/apigee/apigee-setup/bin/update.sh -c all -f configFile
  2. (如果您安装了 apigee-adminapi)更新了 apigee-adminapi 实用程序:
    /opt/apigee/apigee-service/bin/apigee-service apigee-adminapi update

2 节点独立升级

为 2 节点独立安装更新以下组件:

如需查看 Edge 拓扑和节点编号的列表,请参阅安装拓扑。

  1. 在机器 1 上更新 Cassandra 和 ZooKeeper:
    /opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile
  2. 更新机器 2 上的 Qpid 和 Postgres:
    /opt/apigee/apigee-setup/bin/update.sh -c qpid,ps -f configFile
  3. 在机器 1 上更新 LDAP:
    /opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile
  4. 更新机器 2 和 1 上的 Edge 组件:
    /opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
  5. 更新机器 1 上的界面:
    /opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile
  6. (如果您安装了 apigee-adminapi)更新了机器 1 上的 apigee-adminapi 实用程序:
    /opt/apigee/apigee-service/bin/apigee-service apigee-adminapi update
  7. (如果您安装了 Apigee SSO)在机器 1 上更新 Apigee SSO:
    /opt/apigee/apigee-setup/bin/update.sh -c sso -f sso_config_file

    其中 sso_config_file 是您在安装 SSO 时创建的配置文件。

  8. 在机器 1 上重启 Edge 界面组件:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

5 节点升级

为 5 节点安装更新以下组件:

如需查看 Edge 拓扑和节点编号的列表,请参阅安装拓扑。

  1. 在机器 1、2 和 3 上更新 Cassandra 和 ZooKeeper:
    /opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile
  2. 在机器 4 上更新 Qpid 和 Postgres:
    /opt/apigee/apigee-setup/bin/update.sh -c qpid, ps -f configFile
  3. 更新机器 5 上的 Qpid 和 Postgres:
    /opt/apigee/apigee-setup/bin/update.sh -c qpid, ps -f configFile
  4. 在机器 1 上更新 LDAP:
    /opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile
  5. 更新机器 4、5、1、2、3 上的 Edge 组件:
    /opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
  6. 更新机器 1 上的界面:
    /opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile
  7. (如果您安装了 apigee-adminapi)更新了机器 1 上的 apigee-adminapi 实用程序:
    /opt/apigee/apigee-service/bin/apigee-service apigee-adminapi update
  8. (如果您安装了 Apigee SSO)在机器 1 上更新 Apigee SSO:
    /opt/apigee/apigee-setup/bin/update.sh -c sso -f sso_config_file

    其中 sso_config_file 是您在安装 SSO 时创建的配置文件。

  9. 在机器 1 上重启 Edge 界面组件:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

9 节点集群升级

为 9 节点集群安装更新以下组件:

如需查看 Edge 拓扑和节点编号的列表,请参阅安装拓扑。

  1. 在机器 1、2 和 3 上更新 Cassandra 和 ZooKeeper:
    /opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile
  2. 在机器 6 和 7 上更新 Qpid:
    /opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile
  3. 在机器 8 上更新 Postgres:
    /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
  4. 在机器 9 上更新 Postgres:
    /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
  5. 在机器 1 上更新 LDAP:
    /opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile
  6. 按顺序更新机器 6、7、8、9、1、4 和 5 上的 Edge 组件:
    /opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
  7. 更新机器 1 上的界面:
    /opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile
  8. (如果您安装了 apigee-adminapi)更新了机器 1 上的 apigee-adminapi 实用程序:
    /opt/apigee/apigee-service/bin/apigee-service apigee-adminapi update
  9. (如果您安装了 Apigee SSO)在机器 1 上更新 Apigee SSO:
    /opt/apigee/apigee-setup/bin/update.sh -c sso -f sso_config_file

    其中 sso_config_file 是您在安装 SSO 时创建的配置文件。

  10. 在机器 1 上重启 Edge 界面组件:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

13 节点集群升级

为 13 节点集群安装更新以下组件:

如需查看 Edge 拓扑和节点编号的列表,请参阅安装拓扑。

  1. 在机器 1、2 和 3 上更新 Cassandra 和 ZooKeeper:
    /opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile
  2. 在机器 12 和 13 上更新 Qpid:
    /opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile
  3. 在机器 8 上更新 Postgres:
    /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
  4. 在机器 9 上更新 Postgres:
    /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
  5. 在机器 4 和 5 上更新 LDAP:
    /opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile
  6. 按以下顺序更新机器 12、13、8、9、6、7、10 和 11 上的 Edge 组件:
    /opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
  7. 更新机器 6 和 7 上的界面:
    /opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile
  8. (如果您安装了 apigee-adminapi)更新了机器 6 和 7 上的 apigee-adminapi 实用程序:
    /opt/apigee/apigee-service/bin/apigee-service apigee-adminapi update
  9. (如果您安装了 Apigee SSO)在机器 6 和 7 上更新 Apigee SSO:
    /opt/apigee/apigee-setup/bin/update.sh -c sso -f sso_config_file

    其中 sso_config_file 是您在安装 SSO 时创建的配置文件。

  10. 在机器 6 和 7 上重启 Edge 界面组件:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

12 节点集群升级

为 12 节点集群安装更新以下组件:

如需查看 Edge 拓扑和节点编号的列表,请参阅安装拓扑。

  1. 更新 Cassandra 和 ZooKeeper:
    1. 在数据中心 1 的机器 1、2 和 3 上:
      /opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile
    2. 在数据中心 2 的机器 7、8 和 9 上
      /opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile
  2. 更新 qpidd:
    1. 数据中心 1 中的机器 4、5
      1. 在机器 4 上更新 qpidd:
        /opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile
      2. 更新机器 5 上的 qpidd:
        /opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile
    2. 数据中心 2 中的机器 10、11
      1. 更新机器 10 上的 qpidd :
        /opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile
      2. 在机器 11 上更新 qpidd :
        /opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile
  3. 更新 Postgres:
    1. 数据中心 1 中的机器 6
      /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
    2. 数据中心 2 中的机器 12
      /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
  4. 更新 LDAP:
    1. 数据中心 1 中的机器 1
      /opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile
    2. 数据中心 2 中的机器 7
      /opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile
  5. 更新 Edge 组件:
    1. 数据中心 1 中的机器 4、5、6、1、2、3
      /opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
    2. 数据中心 2 中的机器 10、11、12、7、8、9
      /opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
  6. 更新界面:
    1. 数据中心 1 中的机器 1:
      /opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile
    2. 数据中心 2 中的机器 7:
      /opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile
    3. 在机器 1 和 7 上重启 Edge 界面组件:
      /opt/apigee/apigee-service/bin/apigee-service edge-ui restart
  7. (如果您安装了 apigee-adminapi)更新了 apigee-adminapi 实用程序:
    1. 数据中心 1 中的机器 1:
      /opt/apigee/apigee-service/bin/apigee-service apigee-adminapi update
    2. 数据中心 2 中的机器 7:
      /opt/apigee/apigee-service/bin/apigee-service apigee-adminapi update
  8. (如果您安装了 Apigee SSO)更新 Apigee SSO:
    1. 数据中心 1 中的机器 1:
      /opt/apigee/apigee-setup/bin/update.sh -c sso -f sso_config_file
    2. 数据中心 2 中的机器 7:
      /opt/apigee/apigee-setup/bin/update.sh -c sso -f sso_config_file
    3. 其中 sso_config_file 是您在安装 SSO 时创建的配置文件。

对于非标准配置

如果您使用的是非标准配置,请按以下顺序更新 Edge 组件:

  1. ZooKeeper
  2. Cassandra
  3. qpidd、ps
  4. LDAP
  5. Edge,即所有节点上的“-c edge”配置文件,顺序如下:具有 Qpid 服务器、Edge Postgres 服务器、管理服务器、消息处理器和路由器的节点。
  6. Edge 界面
  7. apigee-adminapi
  8. Apigee SSO

完成更新后,请务必在运行 Edge 界面组件的所有机器上重启该组件。