Apigee 支持将 Edge for Private Cloud 直接从 4.51.00、4.52.00 或 4.52.01 版本升级到 4.52.02 版本。本页介绍了如何执行此类升级。
谁可以执行更新
运行更新的用户应与最初安装 Edge 的用户相同,或者是运行以 root 身份运行的用户。
安装 Edge RPM 后,任何人都可以对其进行配置。
您必须更新哪些组件
您必须更新所有 Edge 组件。Edge 不支持包含来自多个版本的组件的设置。
更新前提条件
在升级 Apigee Edge 之前,请确保满足以下前提条件:
- 备份所有节点
出于安全考虑,我们建议您在更新之前对所有节点执行完整备份。使用适用于您当前 Edge 版本的步骤进行备份。这样,您就可以在更新到新版本时出现问题时,采取备用方案。如需详细了解备份,请参阅备份和恢复。
- 确保 Edge 正在运行
使用以下命令确保 Edge 在更新过程中正常运行:/opt/apigee/apigee-service/bin/apigee-all status
- 确保 Cassandra 压缩策略为
LeveledCompactionStrategy
根据您当前的版本,对 Cassandra 压缩策略进行必要的更改。请按以下步骤操作,然后返回到主要升级流程:- 如果您要从 4.51.00 版升级,请参阅 适用于 v4.51.00 的 Cassandra 压缩策略文档。
- 如果您要从 4.52.00 版升级,请参阅 适用于 v4.52.00 的 Cassandra 压缩策略文档。
- 如果您要从 4.52.01 版升级,请参阅 适用于 v4.52.01 的 Cassandra 压缩策略文档。
升级时应考虑哪些特殊步骤
如需升级到 Edge for Private Cloud 4.52.02,请考虑运行升级特定软件的具体步骤。具体步骤取决于您当前使用的版本。请参阅下表,了解需要执行补充步骤的各种软件,并按照每种软件的详细说明操作。完成必要的任务后,返回主升级流程以继续升级过程。
当前版本 | 需要执行特殊步骤才能升级到 4.52.02 的软件 |
---|---|
4.52.01 | Cassandra |
4.52.00 | Zookeeper、Cassandra、Qpid |
4.51.00 | Zookeeper、Postgres、Cassandra、Qpid |
根据您的版本执行必要的步骤后,返回主升级流程以继续。
自动传播房源设置
如果您通过修改 /opt/apigee/customer/application
中的 .properties
文件设置了任何属性,这些值将在更新后保留。
升级到 Zookeeper 3.8.3
Edge for Private Cloud 4.52.02 不包含 Zookeeper 升级。不过,如果您要从低于 4.52.01 的版本升级,则必须按照下文所述的 Zookeeper 升级步骤操作。
- 如果您要从 Edge for Private Cloud 版本 4.51.00 或 4.52.00 升级,请参阅必须升级到 Zookeeper 3.8.3 中的步骤升级 Zookeeper。
- 如果您要从 Edge for Private Cloud 4.52.01 版升级,则应该已经在使用 Zookeeper 3.8.3 版,因此无需按照任何特殊步骤升级 Zookeeper。
升级到 Postgres 14
- 如果您要从 Edge for Private Cloud 4.51.00 升级到 4.52.02,则必须按照相应步骤升级 Postgres,即使 Edge for Private Cloud 4.52.02 不包含 Postgres 升级也是如此。从 Edge Private Cloud 4.51.00 升级到 4.52.02 需要执行额外的 Postgres 升级步骤。请参阅必须升级到 Postgres 14部分。
- 如果您要从 Edge for Private Cloud 4.52.00 或 4.52.01 升级到 4.52.02,则无需执行额外的 Postgres 升级步骤。
升级到 Cassandra 3.11.16
Apigee Edge for Private Cloud 4.52.02 包括将 Cassandra 升级到 3.11.16 版。Cassandra 是 Apigee 的一项关键组件,此次升级还包括对用于查询 Cassandra 和向其写入数据的各种运行时和管理组件中的驱动程序软件的更新。
由于这是一项重大升级,因此必须对 Cassandra 中的 Apigee 数据模型进行一些更改,以确保新版本能够实现最佳性能。虽然这些变更很少,但升级流程会在升级启动时中断某些管理 API。通常会中断的确切管理 API 在下文的相关部分中列出。
此外,升级过程会导致升级中的数据中心中大量运行时代理流和管理 API 中断。请务必将运行时和管理流量与要升级的数据中心隔离,以最大限度地减少此类中断。如需了解详情,请参阅下文中的单个数据中心和多个数据中心部分。
开发者门户 - 提供 API 文档
Apigee Drupal 开发者门户提供了各种用于记录 API 的功能。虽然我们建议您停止使用基于 Drupal 7 的开发者门户,但如果您仍在使用该门户并利用其 SmartDocs 功能,则 使用 SmartDocs API 文档适用于您。如果您使用的是较新版本的开发者门户,则此次升级对您的 API 文档没有影响。
将 Apigee 升级到 4.52.02 版后,使用 Drupal 7 开发者门户的 SmartDocs 功能创建的任何 API 模型都不会自动迁移到新版本。您需要使用开发者门户手动导出每个模型,并在完成升级后重新导入。
下文中使用的术语
运行时:运行时涵盖运行时代理流量的处理。它包含路由器和消息处理器执行的所有操作,以便有效处理现有代理的运行时 API 请求。但不包括部署新的代理或代理的新修订版本。
管理:管理包括 Apigee Edge 系统的管理。这包括但不限于应用、产品、目标服务器、密钥库等的部署和修改。所有管理 API(及其客户端,例如 Apigee 界面和开发者门户)都包含在此范围内。
在此升级期间,正在执行更新的区域或数据中心 (DC) 中的运行时和管理流量会受到影响。无论更新的是哪个数据中心,都会影响所有数据中心中的某些管理 API。系统会在每一步后记录此影响。
在以下每个步骤中,都会介绍您在升级流程的各个阶段中运行时和管理状态。
升级策略
多个数据中心
升级必须一次完成一个数据中心,以确保流量连续性并避免服务中断。在升级网域控制器之前,应将流量重定向到其他正常运行的网域控制器。
单数据中心
对于单个数据中心设置,升级过程将对运行时流量和某些管理 API 产生重大影响。单个数据中心设置可采用以下选项。
- 将 Edge for Private Cloud 集群扩展到临时数据中心,方法是将新数据中心与现有数据中心一起 添加,以便在升级期间处理流量,然后在升级流程完成后停用其中一个数据中心。
- 如果您无法扩展到其他数据中心,请做好停机准备,并安排在流量较低时升级,以最大限度地减少对管理 API 和运行时流量的影响。
建议您扩展到其他数据中心,以免对运行时流量和管理 API 造成影响。升级期间,升级中的数据中心会受到以下方面的影响,但不限于:
- 用于刷新 OAuth 令牌的运行时 API
- 使用 AccessEntity 政策的 Runtime API
- 用于列出开发者应用的管理 API
- 用于列出商品的管理 API
除了上述影响之外,在所有数据中心升级之前,特定管理 API 在所有数据中心都将无法使用。后续部分的步骤中列出了此类管理 API。
回滚 - 概览
- 回滚期间的影响
从 Cassandra 3.11.x 回滚到 2.1.x 会影响执行回滚操作的数据中心 (DC) 内的运行时和管理流量。此外,无论当前正在回滚哪个数据中心,某些管理 API 在所有数据中心都可能会中断。
- 按 DC 回滚 DC 的跟踪方法
回滚必须一次执行一个数据中心,以保持服务连续性并防止服务中断。在特定数据中心启动回滚之前,请确保应用流量已重定向到另一个完全正常运行的数据中心。
- 回滚部分升级的集群
如果至少有一个数据中心仍在旧版 Cassandra (2.1.22) 上正常运行,则可以通过从完全正常运行的 Cassandra 2.1.X 数据中心执行重新构建来回滚其他升级的数据中心。
- 集群级回滚
如果整个 Cassandra 集群已升级,并且需要回滚,则必须使用备份或虚拟机快照执行回滚。这种方法很复杂,并且可能会导致暂时停机或数据丢失。
- 升级前注意事项
请务必先熟悉回滚流程,然后再尝试升级。在升级过程中,请务必考虑回滚的细微之处,以确保有适当的回滚路径可用。
回滚单数据中心集群
将 Cassandra 从 2.1.x 版升级到 3.11.x 可能会显著影响运行时流量和某些管理 API。这些影响在回滚期间也会发生,并且可能会导致停机或数据丢失。
对于生产工作负载,强烈建议您在升级之前预配新的数据中心。这样可以实现更安全的回滚路径,而不会丢失数据或中断 API 流量。升级成功完成后,您可以停用额外的数据中心。
如果无法添加新的数据中心,但仍需要回滚功能,请确保在升级之前创建可靠的备份。可以从备份恢复 Cassandra 2.1.x,但此方法可能会导致服务停机和数据丢失。
回滚包含多个数据中心的集群
对多个数据中心进行回滚时,采用的是按数据中心 (DC-by-DC) 的方法。在此方法中,来自要回滚的数据中心的流量会重定向到其他正常运行的数据中心,从而确保为 Cassandra、管理服务器和运行时节点提供受控且隔离的回滚流程,以避免流量中断。
如需了解详情,请参阅回滚 Cassandra 3.11.16 更新部分。
第 0 步:开始状态
- Zookeeper、Postgres 和 LDAP 组件已升级到 4.52.02 版本。您的 Edge for Private Cloud 集群稳定运行。如果需要回滚,集群将回滚到此状态。
- Apigee 中的 Cassandra 运行版本为 2.1.22。
- 边缘组件:
- 管理服务器通过较旧的 Thrift 协议与 Cassandra 通信。
- 运行时服务器(消息处理器和路由器)通过旧版 Thrift 协议与 Cassandra 通信。
此阶段的运行时状态 | 此阶段的管理状态 |
---|---|
运行时完全正常运行 | 管理功能完全正常 |
第 1 步:准备升级
除了您通常创建的标准文件(例如用于启用组件升级的 Apigee 标准配置文件)之外,您还需要执行以下步骤。
- 将 Cassandra 更改为使用 LeveledCompactionStrategy。
- 使用 Apigee 备份 Cassandra。
- 为 Cassandra 节点创建虚拟机快照(如果可行)。
-
在每个 Cassandra 节点的
/opt/apigee/apigee-cassandra/cass_upgrade.conf
位置创建一个 Cassandra 升级配置文件,其中包含以下内容: 如果无法在# IP Address of node HOSTIP=10.0.0.1 # Username for running Cassandra queries. Optional. Can be skipped if you have not enabled Cassandra authentication. CASS_USERNAME=<cassuser> # Password for running Cassandra queries. Optional. Can be skipped if you have not enabled Cassandra authentication. CASS_PASSWORD=<casspass> # Port for connecting to Cassandra via thrift. Optional. Defaults to 9160 if skipped. CASS_PORT=9160 # Port for connecting to Cassandra via CQL. Optional. Defaults to 9042 if skipped. CASS_CQL_PORT=9042 # Directory to be used by Cassandra upgrade scripts. Optional. Defaults to /tmp/cass_upgrade_scripts if skipped. # Note that if upgrade is successful, this directory is deleted via root user - so provide a directory accordingly. CASS_TMP_DIR=/tmp/cass_upgrade_scripts
/opt/apigee/apigee-cassandra/cass_upgrade.conf
中创建文件,请在每个 Cassandra 节点上创建内容相同的文件/opt/silent.conf
。 - 如果您使用 Apigee Drupal 7 开发者门户的 SmartDocs 功能,请从开发者门户界面以 JSON 格式下载每个模型,以导出这些模型。更新管理服务器后,需要将这些模型重新导入 Apigee。
- 确保所有 Edge 组件都可以访问 Cassandra 节点的端口 9160 和 9042(如果尚不存在)。如需了解详情,请参阅端口要求。
第 2 步:将流量从第一个数据中心重定向到其他数据中心
- 屏蔽来自第一个数据中心的传入运行时和管理流量。
- 将所有运行时流量和管理 API 重定向到其他正常运行的数据中心。
- 验证其他数据中心是否成功处理了运行时和管理流量。
第 3 步:升级第一个数据中心中的所有 Cassandra 节点
-
逐个升级数据中心中的所有 Cassandra 节点。依次在每个节点上运行以下命令:
/opt/apigee/apigee-setup/bin/update.sh -c cs -f configFile
-
更新节点后,请在继续操作之前,在节点上运行以下命令以运行一些验证:
上述命令将输出如下内容:/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra validate_upgrade -f configFile
Cassandra version is verified - [cqlsh 5.0.1 | Cassandra 3.11.16 | CQL spec 3.4.4 | Native protocol v3] Metadata is verified
- 升级完成后,请逐个在每个 Cassandra 节点上运行以下
post_upgrade
命令:/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra post_upgrade
此阶段的运行时状态 | 此阶段的管理状态 |
---|---|
|
|
第 4 步:升级第一个数据中心中的所有管理节点
升级数据中心中的所有管理节点:
/opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
此阶段的运行时状态 | 此阶段的管理状态 |
---|---|
|
|
第 5 步:升级第一个数据中心中的所有运行时节点
依次升级数据中心中的所有路由器和消息处理器节点:
/opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
此阶段的运行时状态 | 此阶段的管理状态 |
---|---|
|
|
第 6 步:将流量重定向回第一个数据中心
- 使用 Cassandra、运行时组件和管理服务器升级第一个数据中心后,请重新启用第一个数据中心的运行时和管理流量。
- 确保运行时和管理流量在各个数据中心之间成功传输。
第 7 步:升级其他数据中心
对其余数据中心,依次重复执行第 1 步到第 6 步,方法是将流量从这些数据中心重定向出去、更新 Apigee 软件,然后重新为这些数据中心启用流量。
第 8 步:在所有管理节点中重新运行升级步骤
在所有数据中心的所有管理节点中重新运行以下升级命令:
/opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
第 9 步 - [可选] 导入之前导出的智能文档
升级所有管理服务器后,您可以导入您在第 1 步中导出的精准文档模型。您可以稍后再决定是否执行此操作。
只有在您使用基于 Drupal 7 的开发者门户并使用 SmartDocs 功能时,才需要执行此操作。
此阶段的运行时状态 | 此阶段的管理状态 |
---|---|
运行时完全正常运行 | 管理功能完全正常 |
第 10 步 - 丢弃未使用的表
运行以下命令可从 Cassandra 集群中删除旧的未使用的表。在运行此脚本之前,您无法使用 Cassandra 的某些功能(例如设置新的身份验证机制 - 旧的身份验证机制将继续有效)。此命令只能在集群中的一个节点上执行
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra drop_old_tables -f configFile
第 11 步 - 升级适用于私有云 4.52.02 的所有其他 Edge 和其他组件
逐个升级所有区域中所有剩余的 edge-qpid-server
和 edge-postgres-server
节点。
在此阶段,如果您要从 Edge for Private Cloud 4.52.01 之前的版本升级,请按如下所示执行额外的步骤来升级 Qpid 和 Postgres,并按照这些步骤升级其余组件。
升级到 Qpid J-Broker
虽然 Edge for Private Cloud 4.52.02 不包含升级到 Qpid 的步骤,但如果您要从低于 4.52.01 的版本升级,则需要按照相应步骤升级 QPID。
- 如果您要从 Edge for Private Cloud 4.51.00 或 4.52.00 升级到 4.52.02,则必须按照额外的 Qpid 升级步骤操作。如果您要从版本 4.51.00 或 4.52.00 升级到 4.52.02,请参阅升级 Qpid 部分。
- 如果您要从 Edge for Private Cloud 4.52.01 升级到 4.52.02,则应该已经在使用最新版本的 Qpid 代理,无需执行额外的 Qpid 升级步骤。
新版 Edge 界面
本部分列出了与 Edge 界面相关的注意事项。如需了解详情,请参阅适用于私有云的新 Edge 界面。
安装 Edge 界面
完成初始安装后,Apigee 建议您安装 Edge 界面,这是面向 Apigee Edge for Private Cloud 开发者和管理员的增强型界面。
请注意,Edge 界面要求您停用基本身份验证,并使用 SAML 或 LDAP 等 IDP。
如需了解详情,请参阅安装新的 Edge 界面。
更新 Edge 界面
如需更新 Edge 界面组件,请考虑您要从哪个版本的 Edge for Private Cloud 升级:
- 从 4.51.00 升级到 4.52.00(已安装新的 Edge 界面):请针对
edge-management-ui
组件使用本部分中的升级说明。
更新为使用 Apigee mTLS
如需更新 Apigee mTLS,请执行以下步骤:
回滚更新
如果更新失败,您可以尝试解决问题,然后再次执行 update.sh
。您可以多次运行更新,系统会从上次中断的位置继续更新。
如果失败导致您需要将更新回滚到之前的版本,请参阅回滚 4.52.00 了解详细说明。
日志记录更新信息
默认情况下,update.sh
实用程序会将日志信息写入以下位置:
/opt/apigee/var/log/apigee-setup/update.log
如果运行 update.sh
实用程序的用户无权访问该目录,则该实用程序会将日志写入 /tmp
目录,并将其命名为 update_username.log
。
如果您无权访问 /tmp
,update.sh
实用程序将会失败。
零停机时间更新
零停机更新(也称为滚动更新)可让您在不停用 Edge 的情况下更新 Edge 安装。
只有配置为 5 个节点或更多节点时,才能实现零停机更新。
实现零停机升级的关键是从负载平衡器中逐个移除每个路由器。然后,更新与路由器位于同一计算机上的路由器和任何其他组件,并将路由器重新添加到负载平衡器。
- 按照机器更新顺序中的说明,按正确的顺序更新机器。
- 当需要更新路由器时,请选择任意一个路由器并使其不可访问,如启用/停用服务器(消息处理器/路由器)可访问性中所述。
- 在与路由器位于同一台机器上更新所选路由器和所有其他 Edge 组件。 所有 Edge 配置都会在同一节点上显示路由器和消息处理器。
- 让路由器再次可访问。
- 对剩余的路由器重复第 2 步到第 4 步。
- 继续为安装中的所有剩余计算机更新。
请在更新前后注意以下事项:
- 在路由器和消息处理器组合节点上:
- 更新前 - 执行以下操作:
- 使路由器不可访问。
- 使消息处理器不可访问。
- 更新后 - 执行以下操作:
- 使消息处理器可访问。
- 使路由器可访问。
- 更新前 - 执行以下操作:
- 在单个路由器节点上:
- 在单个消息处理器节点上:
- 在更新之前,使消息处理器不可访问。
- 更新后,使消息处理程序可访问。
使用静默配置文件
您必须将静默配置文件传递给更新命令。静默配置文件应与您安装 Edge 4.50.00 或 4.51.00 时使用的配置文件相同。
在具有外部互联网连接的节点上更新到 4.52.02
请按照以下步骤更新节点上的 Edge 组件:
- 停用配置为对 Cassandra 执行修复操作的所有
cron
作业(如果有),直到更新完成为止。 - 以 root 用户身份登录节点,以安装 Edge RPM。
- 安装
yum-utils
和yum-plugin-priorities
:sudo yum install yum-utils
sudo yum install yum-plugin-priorities
- 停用 SELinux,如安装 Edge apigee-setup 实用程序中所述。
- 如果您是在 Oracle 7.x 上安装,请执行以下命令:
sudo yum-config-manager --enable ol7_optional_latest
- 如果您是在 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
如果您目前使用的是 Edge 4.51.00:
- 将 Edge
bootstrap_4.52.02.sh
文件下载到/tmp/bootstrap_4.52.02.sh
:curl https://software.apigee.com/bootstrap_4.52.02.sh -o /tmp/bootstrap_4.52.02.sh
- 通过执行以下命令安装 Edge 4.52.02
apigee-service
实用程序和依赖项:sudo bash /tmp/bootstrap_4.52.02.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。
- 使用
apigee-service
更新apigee-setup
实用程序,如以下示例所示:/opt/apigee/apigee-service/bin/apigee-service apigee-setup update
- 更新管理服务器上的
apigee-validate
实用程序,如以下示例所示:/opt/apigee/apigee-service/bin/apigee-service apigee-validate update
- 更新管理服务器上的
apigee-provision
实用程序,如以下示例所示:/opt/apigee/apigee-service/bin/apigee-service apigee-provision update
- 通过执行以下命令,在节点上运行
update
实用程序:/opt/apigee/apigee-setup/bin/update.sh -c component -f configFile
请按照机器更新顺序中所述的顺序执行此操作。
其中:
- component 是要更新的 Edge 组件。可取值包括:
cs
:Cassandraedge
:除 Edge 界面之外的所有 Edge 组件:管理服务器、消息处理器、路由器、Qpid 服务器、Postgres 服务器ldap
:OpenLDAPps
:postgresqlqpid
:qpiddsso
:Apigee SSO(如果您已安装 SSO)ue
:新的 Edge 界面ui
:Edge 经典版界面zk
:Zookeeper
- configFile 是您在 4.50.00 或 4.51.00 安装期间用于定义 Edge 组件的配置文件。
您可以通过将 component 设置为“all”来针对所有组件运行
update.sh
,但前提是您拥有 Edge 多合一 (AIO) 安装配置文件。例如:/opt/apigee/apigee-setup/bin/update.sh -c all -f ./sa_silent_config
- component 是要更新的 Edge 组件。可取值包括:
- 在运行 Edge 界面组件的所有节点上重启这些组件(如果尚未重启):
/opt/apigee/apigee-service/bin/apigee-service [edge-management-ui|edge-ui] restart
- 在管理服务器上运行
apigee-validate
实用程序,以测试更新(如测试安装中所述)。
- 将 Edge
如果您日后决定回滚更新,请使用回滚 4.52.02 中所述的步骤。
从本地代码库更新到 4.52.02
如果您的 Edge 节点位于防火墙后面,或者以其他方式被禁止通过互联网访问 Apigee 代码库,则可以从本地代码库或 Apigee 代码库的镜像执行更新。#heading
创建本地 Edge 代码库后,您可以通过以下两种方式从本地代码库更新 Edge:
- 创建代码库的 .tar 文件,将 .tar 文件复制到节点,然后通过 .tar 文件更新 Edge。
- 在包含本地代码库的节点上安装 Web 服务器,以便其他节点可以访问该代码库。 Apigee 提供了 Nginx Web 服务器供您使用,您也可以使用自己的 Web 服务器。
如需从本地 4.52.02 代码库更新,请执行以下操作:
- 按照安装 Edge apigee-setup 实用程序中的“创建本地 Apigee 代码库”部分中的说明创建本地 4.52.02 代码库。
- 如需从 .tar 文件安装 apigee-service,请执行以下操作:
- 在包含本地代码库的节点上,使用以下命令将本地代码库打包到名为
/opt/apigee/data/apigee-mirror/apigee-4.52.02.tar.gz
的单个 .tar 文件中:/opt/apigee/apigee-service/bin/apigee-service apigee-mirror package
- 将 .tar 文件复制到您要更新 Edge 的节点。例如,将其复制到新节点上的
/tmp
目录。 - 在新节点上,将文件解压缩到
/tmp
目录:tar -xzf apigee-4.52.02.tar.gz
此命令会在包含 .tar 文件的目录中创建一个名为
repos
的新目录。例如/tmp/repos
。 - 从
/tmp/repos
安装 Edgeapigee-service
实用程序和依赖项:sudo bash /tmp/repos/bootstrap_4.52.02.sh apigeeprotocol="file://" apigeerepobasepath=/tmp/repos
请注意,您需要在此命令中添加代码库目录的路径。
- 在包含本地代码库的节点上,使用以下命令将本地代码库打包到名为
- 如需使用 Nginx Web 服务器安装 apigee-service,请执行以下操作:
- 按照安装 Edge apigee-setup 实用程序中的“使用 Nginx Web 服务器从代码库安装”部分中的说明配置 Nginx Web 服务器。
- 在远程节点上,将 Edge
bootstrap_4.52.02.sh
文件下载到/tmp/bootstrap_4.52.02.sh
:/usr/bin/curl http://uName:pWord@remoteRepo:3939/bootstrap_4.52.02.sh -o /tmp/bootstrap_4.52.02.sh
其中,uName:pWord 是您之前为代码库设置的用户名和密码,remoteRepo 是代码库节点的 IP 地址或 DNS 名称。
- 在远程节点上,安装 Edge
apigee-setup
实用程序和依赖项:sudo bash /tmp/bootstrap_4.52.02.sh apigeerepohost=remoteRepo:3939 apigeeuser=uName apigeepassword=pWord apigeeprotocol=http://
其中 uName:pWord 是代码库用户名和密码。
- 使用
apigee-service
更新apigee-setup
实用程序,如以下示例所示:/opt/apigee/apigee-service/bin/apigee-service apigee-setup update
- 更新管理服务器上的
apigee-validate
实用程序,如以下示例所示:/opt/apigee/apigee-service/bin/apigee-service apigee-validate update
- 更新管理服务器上的
apigee-provision
实用程序,如以下示例所示:/opt/apigee/apigee-service/bin/apigee-service apigee-provision update
- 按照机器更新顺序中所述的顺序,在节点上运行
update
实用程序:/opt/apigee/apigee-setup/bin/update.sh -c component -f configFile
其中:
- component 是要更新的 Edge 组件。您通常需要更新以下组件:
cs
:Cassandraedge
:除 Edge 界面之外的所有 Edge 组件:管理服务器、消息处理器、路由器、Qpid 服务器、Postgres 服务器ldap
:OpenLDAPps
:postgresqlqpid
:qpiddsso
:Apigee SSO(如果您已安装 SSO)ue
新版 Edge 界面ui
:Edge 经典版界面zk
:Zookeeper
- configFile 是您在安装 4.50.00 或 4.51.00 期间用于定义 Edge 组件的配置文件。
您可以通过将 component 设置为“all”来针对所有组件运行
update.sh
,但前提是您拥有 Edge 多合一 (AIO) 安装配置文件。例如:/opt/apigee/apigee-setup/bin/update.sh -c all -f /tmp/sa_silent_config
- component 是要更新的 Edge 组件。您通常需要更新以下组件:
- 在运行该组件的所有节点上重启界面组件(如果尚未重启):
/opt/apigee/apigee-service/bin/apigee-service [edge-management-ui|edge-ui] restart
- 在管理服务器上运行
apigee-validate
实用程序,以测试更新(如测试安装中所述)。
如果您日后决定回滚更新,请使用回滚 4.52.02 中所述的步骤。
机器更新顺序 - 从 4.51.00(或)4.52.00(或)4.52.01 升级
更新 Edge 安装中的计算机的顺序非常重要:
- 您必须先更新数据中心中的所有 ZooKeeper 节点,然后才能升级所有其他组件。如果您要从 Edge Private Cloud 4.51.00 或 4.52.00 升级,则还需要按照其他步骤升级 ZooKeeper。
- 您必须更新所有数据中心中的 PostgreSQL。如果您要从 Edge Private Cloud 4.51.00 升级,还需要按照其他步骤升级 postgres。
- 您必须更新所有数据中心中的 LDAP 节点。
- 您必须一次更新一个数据中心,直到所有数据中心都升级完毕,才能更新所有 Cassandra、管理服务器、消息处理器和路由器节点。
- 您必须更新所有数据中心的
edge-qpid-server
和edge-postgres-server
组件。 - 您必须升级所有数据中心中的 Qpid 节点。如果您要从 Edge Private Cloud 4.51.00 或 4.52.00 升级,则还需要按照其他步骤升级 Qpid。
- 更新了所有数据中心的 Edge 界面和新 Edge 界面、SSO 节点。
- 无需单独执行任何步骤即可更新创收设置。当您指定 -c edge 选项时,该值会更新。
1 个节点的独立升级
如需将 1 个节点的独立配置升级到 4.52.02,请执行以下操作:- 更新所有组件:
/opt/apigee/apigee-setup/bin/update.sh -c all -f configFile
- (如果您安装了
apigee-adminapi
)更新了apigee-adminapi
实用程序:/opt/apigee/apigee-service/bin/apigee-service apigee-adminapi update
2 个节点的独立升级
针对 2 节点的独立安装更新以下组件:
如需查看 Edge 拓扑和节点编号列表,请参阅安装拓扑。
- 在机器 1 上更新 Zookeeper:
/opt/apigee/apigee-setup/bin/update.sh -c zk -f configFile
- 更新机器 2 上的 Postgres:
/opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
- 更新机器 1 上的 LDAP:
/opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile
- 在机器 1 上更新 Cassandra:
/opt/apigee/apigee-setup/bin/update.sh -c cs -f configFile
- 更新机器 1 和 2 上的 Edge 组件:
/opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
- 更新机器 2 上的 Qpid:
/opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile
- 更新机器 1 上的界面:
/opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile
- (如果您安装了
apigee-adminapi
)更新了机器 1 上的apigee-adminapi
实用程序:/opt/apigee/apigee-service/bin/apigee-service apigee-adminapi update
- (如果您安装了 Apigee SSO)在计算机 1 上更新 Apigee SSO:
/opt/apigee/apigee-setup/bin/update.sh -c sso -f sso_config_file
其中,sso_config_file 是您在安装 SSO 时创建的配置文件。
- 在计算机 1 上重启 Edge 界面组件:
/opt/apigee/apigee-service/bin/apigee-service edge-ui restart
5 个节点升级
对于 5 节点安装,请更新以下组件:
如需查看 Edge 拓扑和节点编号列表,请参阅安装拓扑。
- 在机器 1、2 和 3 上更新 ZooKeeper:
/opt/apigee/apigee-setup/bin/update.sh -c zk -f configFile
- 更新机器 4 上的 Postgres:
/opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
- 更新机器 5 上的 Postgres:
/opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
- 更新机器 1 上的 LDAP:
/opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile
- 在机器 1、2 和 3 上更新 Cassandra:
/opt/apigee/apigee-setup/bin/update.sh -c cs -f configFile
- 更新机器 1、2、3、4、5 上的 Edge 组件:
/opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
- 更新机器 4 上的 Qpid:
/opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile
- 更新机器 5 上的 Qpid:
/opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile
- 更新了 Edge 界面:
- 传统界面:如果您使用的是传统界面,请更新机器 1 上的
ui
组件,如以下示例所示:/opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile
- 新版 Edge 界面:如果您安装了新版 Edge 界面,请更新相应机器(可能不是机器 1)上的
ue
组件:/opt/apigee/apigee-setup/bin/update.sh -c ue -f /opt/silent.conf
- 传统界面:如果您使用的是传统界面,请更新机器 1 上的
- (如果您安装了
apigee-adminapi
)更新了机器 1 上的apigee-adminapi
实用程序:/opt/apigee/apigee-service/bin/apigee-service apigee-adminapi update
- (如果您安装了 Apigee SSO)在计算机 1 上更新 Apigee SSO:
/opt/apigee/apigee-setup/bin/update.sh -c sso -f sso_config_file
其中 sso_config_file 是您在安装 SSO 时创建的配置文件。
- 重启界面组件:
- 传统界面:如果您使用的是传统界面,请重启机器 1 上的
edge-ui
组件,如以下示例所示:/opt/apigee/apigee-service/bin/apigee-service edge-ui restart
- 新版 Edge 界面:如果您安装了新版 Edge 界面,请在相应机器(可能不是机器 1)上重启
edge-management-ui
组件:/opt/apigee/apigee-service/bin/apigee-service edge-management-ui restart
- 传统界面:如果您使用的是传统界面,请重启机器 1 上的
9 节点集群升级
对于 9 节点集群安装,请更新以下组件:
如需查看 Edge 拓扑和节点编号列表,请参阅安装拓扑。
- 在机器 1、2 和 3 上更新 ZooKeeper:
/opt/apigee/apigee-setup/bin/update.sh -c zk -f configFile
- 更新机器 8 上的 Postgres:
/opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
- 更新机器 9 上的 Postgres:
/opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
- 更新机器 1 上的 LDAP:
/opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile
- 在机器 1、2 和 3 上更新 Cassandra:
/opt/apigee/apigee-setup/bin/update.sh -c cs -f configFile
- 依次更新机器 1、4、5、6、7、8 和 9 上的 Edge 组件:
/opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
- 更新机器 6 和 7 上的 Qpid:
/opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile
- 更新机器 1 上的新界面 (
ue
) 或旧版界面 (ui
):/opt/apigee/apigee-setup/bin/update.sh -c [ui|ue] -f configFile
- (如果您安装了
apigee-adminapi
) 在计算机 1 上更新apigee-adminapi
实用程序:/opt/apigee/apigee-service/bin/apigee-service apigee-adminapi update
- (如果您安装了 Apigee SSO)在计算机 1 上更新 Apigee SSO:
/opt/apigee/apigee-setup/bin/update.sh -c sso -f sso_config_file
其中 sso_config_file 是您在安装 SSO 时创建的配置文件。
- 重启界面组件:
- 传统界面:如果您使用的是传统界面,请重启机器 1 上的
edge-ui
组件,如以下示例所示:/opt/apigee/apigee-service/bin/apigee-service edge-ui restart
- 新版 Edge 界面:如果您安装了新版 Edge 界面,请在相应机器(可能不是机器 1)上重启
edge-management-ui
组件:/opt/apigee/apigee-service/bin/apigee-service edge-management-ui restart
- 传统界面:如果您使用的是传统界面,请重启机器 1 上的
13 节点集群升级
对于 13 节点集群安装,请更新以下组件:
如需查看 Edge 拓扑和节点编号列表,请参阅安装拓扑。
- 在机器 1、2 和 3 上更新 ZooKeeper:
/opt/apigee/apigee-setup/bin/update.sh -c zk -f configFile
- 更新机器 8 上的 Postgres:
/opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
- 更新机器 9 上的 Postgres:
/opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
- 在机器 4 和 5 上更新 LDAP:
/opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile
- 在机器 1、2 和 3 上更新 Cassandra:
/opt/apigee/apigee-setup/bin/update.sh -c cs -f configFile
- 依次更新机器 6、7、10、11、12、13、8 和 9 上的 Edge 组件:
/opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
- 更新机器 12 和 13 上的 Qpid:
/opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile
- 在机器 6 和 7 上更新新界面 (
ue
) 或经典界面 (ui
):/opt/apigee/apigee-setup/bin/update.sh -c [ui|ue] -f configFile
- (如果您安装了
apigee-adminapi
)更新了机器 6 和 7 上的apigee-adminapi
实用程序:/opt/apigee/apigee-service/bin/apigee-service apigee-adminapi update
- (如果您安装了 Apigee SSO)在计算机 6 和 7 上更新 Apigee SSO:
/opt/apigee/apigee-setup/bin/update.sh -c sso -f sso_config_file
其中 sso_config_file 是您在安装 SSO 时创建的配置文件。
- 重启界面组件:
- 传统界面:如果您使用的是传统界面,请在机器 6 和 7 上重启
edge-ui
组件,如以下示例所示:/opt/apigee/apigee-service/bin/apigee-service edge-ui restart
- 新版 Edge 界面:如果您安装了新版 Edge 界面,请在机器 6 和 7 上重启
edge-management-ui
组件:/opt/apigee/apigee-service/bin/apigee-service edge-management-ui restart
- 传统界面:如果您使用的是传统界面,请在机器 6 和 7 上重启
12 节点集群升级
对于 12 节点集群安装,请更新以下组件:
如需查看 Edge 拓扑和节点编号列表,请参阅安装拓扑。
在两个数据中心的 1、2、3、7、8、9 号机器上更新 ZooKeeper:
/opt/apigee/apigee-setup/bin/update.sh -c zk -f configFile
- 在两个数据中心的计算机 6,12 上更新 Postgres:
/opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
- 在两个 DC 中的机器 1,7 上更新 LDAP:
/opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile
屏蔽 DC-1 中的流量,并确保所有流量都重定向到其他 DC-2
- 更新 DC-1 中的机器 1、2、3 上的 Cassandra:
/opt/apigee/apigee-setup/bin/update.sh -c cs -f configFile
- 在 DC-1 中的计算机 1 上更新管理服务器:
/opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
- 更新 DC-1 中机器 2、3 上的路由器和消息处理器:
/opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
- 解除 DC-1 中的流量屏蔽并验证 DC-1,然后屏蔽 DC-2 中的流量并将流量重定向到 DC-1,以便继续处理 DC-2
- 在 DC-2 中的机器 7、8、9 上更新 Cassandra:
/opt/apigee/apigee-setup/bin/update.sh -c cs -f configFile
- 更新 DC-2 中计算机 7 上的管理服务器:
/opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
- 更新 DC-2 中机器 8、9 上的路由器和消息处理器:
/opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
- 取消屏蔽 DC-2 中的流量,现在,两个数据中心都将处理流量
- 在机器 1 和 7 上的所有数据中心的所有管理服务器中重新运行更新命令:
/opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
- 在两个数据中心的计算机 4,5,6,10,11,12 上更新 edge-qpid-server 和 edge-postgres-server:
/opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
- 更新两个数据中心中机器 4、5、10、11 上的 Qpid:
/opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile
- 更新两个数据中心的新版界面 (ue) 或经典版界面 (ui):
/opt/apigee/apigee-setup/bin/update.sh -c [ui|ue] -f configFile
- (如果您安装了 apigee-adminapi)更新两个数据中心中的 apigee-adminapi:
/opt/apigee/apigee-service/bin/apigee-service apigee-adminapi update
- (如果您安装了 Apigee SSO)更新两个数据中心中的 Apigee SSO 节点:
/opt/apigee/apigee-setup/bin/update.sh -c sso -f configFile
- 在两个数据中心内重启新版 Edge 界面 (edge-management-ui) 或经典版 Edge 界面 (edge-ui) 组件:
/opt/apigee/apigee-service/bin/apigee-service [edge-ui|edge-management-ui] restart