您正在查看 Apigee Edge 文档。
前往 Apigee X 文档。 信息
本文档概述了另一种升级 Apigee Edge for Private Cloud 集群中服务器的操作系统 (OS) 的方法。这种逐个节点的方法可让您就地升级操作系统,一次升级一台机器/一个节点,而无需设置全新的并行数据中心。
兼容性
在逐个节点启动操作系统升级之前,请验证当前版本的 Apigee Edge 私有云是否支持目标操作系统版本。如需验证,请参阅操作系统兼容性矩阵。
前提条件
在开始逐个节点升级之前,请确认您已完成以下任务:
备份所有节点
在按照此程序操作之前,出于安全考虑,我们建议您对所有节点执行完整备份,例如虚拟机级备份、组件级备份(或同时执行这两种备份)。 这样一来,如果以下任何步骤无法正常运行,您都可以有备选方案。如需详细了解组件级备份,请参阅备份和恢复。
确保 Edge 正在运行
在更新过程中,使用以下命令确保 Edge 正常运行:
/opt/apigee/apigee-service/bin/apigee-all status节点更换顺序
我们建议您根据组件类型,按以下顺序升级节点:
其他场景
在执行逐个节点的操作系统升级时,如果现有设置中存在以下任何配置,请考虑执行这些额外的步骤:
- apigee-mtls - 如果启用了 apigee-mtls,则此设置不支持逐个节点的操作系统升级(滚动升级)。如需升级,请按照升级 apigee-mtls 指南操作。
Cassandra
替换 Cassandra 时,请考虑先替换非种子节点,然后再替换种子节点。
以下是需要考虑的 Cassandra 特殊情况:
- Cassandra Native-mTLS - 如果已启用并强制执行 native-mTLS,请通过设置
conf_cassandra_client_encryption_optional=true来移除对已启用 mTLS 的节点的强制执行。如需了解详情,请参阅原生 mTLS 文档。 - 已启用 Cassandra 节点间加密 - 请参阅启用 Cassandra 节点间加密,确保新替换的节点的信任库中包含现有 Cassandra 节点的证书,反之亦然。
替换 Cassandra 节点的步骤:
- 通过截取虚拟机快照(如果可能)备份节点,并使用以下命令在所有节点上为 Cassandra 执行 Apigee 备份:
apigee-service apigee-cassandra backup
- 获取具有升级版操作系统的新节点。
- 应用特定于操作系统的必备条件。
- 下载并运行 Edge 文件,以安装 apigee-service 实用程序。正在使用的 Apigee 版本的引导加载程序,运行引导加载程序以获取 apigee-service 并安装 apigee-setup。
- 列出种子节点:
apigee-service apigee-cassandra configure -search conf_cassandra_seeds
- 通过更改现有 Cassandra 节点的 IP 并将其替换为新节点 IP 地址来更新配置文件。
现有的 CASS_HOSTS
CASS_HOSTS="$IP1 $IP2 $IP3"
新近更新了 CASS_HOSTS
CASS_HOSTS="$IP1 $IP4 $IP3"
- 使用更新后的新 Cassandra 节点 IP 重新配置集群上的现有节点(要替换的节点除外)。请参阅配置文件参考文档。
/opt/apigee/apigee-setup/bin/setup.sh -p c -f updatedConfigFile - 停止并取消注册旧节点上的 Cassandra:
- 停止要替换的节点上的 Cassandra:
apigee-service apigee-cassandra stop
- 列出要停用的 Cassandra 节点的 UUID(如果存在多个数据中心,请相应地考虑):
apigee-adminapi.sh servers list -r dc-1 -p central -t application-datastore --admin AdminEmailID --pwd 'AdminPassword' --host localhost
- 取消注册与现有 Cassandra UUID 关联的数据存储区类型:
curl -u AdminEmailID:'AdminPassword' -X POST http://MS_IP:8080/v1/servers -d "type=cache-datastore&type=user-settings-datastore&type=scheduler-datastore&type=audit-datastore&type=apimodel-datastore&type=application-datastore&type=edgenotification-datastore&type=identityzone-datastore&type=auth-datastore®ion=dc-1&pod=central&uuid=old_cassandra_uuid&action=remove"
- 删除服务器。
curl -u AdminEmailID:AdminPassword -X DELETE http://MS_IP:8080/v1/servers/old_cassandra_uuid
- 停止要替换的节点上的 Cassandra:
- 为 apigee-cassandra 主机准备一个新节点。将以下代码行添加到新 Cassandra 节点上
/opt/apigee/customer/application/cassandra.properties下的 cassandra.properties 文件中(如果该文件尚不存在,请创建):conf_jvm_options_custom_settings=-Dcassandra.replace_address=IPOfOldCassandraNode -Dcassandra.allow_unsafe_replace=true
- 确认 cassandra.properties 文件中的所有者和群组已设置为
apigee:apigee。如果需要,请使用以下命令更新所有者和群组:chown apigee:apigee /opt/apigee/customer/application/cassandra.properties
- 在新添加的节点上安装 Cassandra 并运行设置:
apigee-service apigee-cassandra install
apigee-service apigee-cassandra setup -f updatedConfigFile
- 设置新节点后,移除添加到
/opt/apigee/customer/application/cassandra.properties的额外配置,然后重启 apigee-cassandra:conf_jvm_options_custom_settings=-Dcassandra.replace_address=IPOfOldCassandraNode -Dcassandra.allow_unsafe_replace=true
apigee-service apigee-cassandra restart
- 检查新替换的节点的状态:
apigee-service apigee-cassandra status
/opt/apigee/apigee-cassandra/bin/nodetool status - 重新构建添加到集群中的新节点:
/opt/apigee/apigee-cassandra/bin/nodetool rebuild -dc dc-1 - 通过更新配置文件中的新 Cassandra 节点 IP,分别重新设置路由器、Message-Processor、Qpid、Postgres 和管理服务器的现有节点:
/opt/apigee/apigee-setup/bin/setup.sh -p r|mp|qs|ps|ms|mo -f updatedConfigFile - 从旧节点中移除/卸载 Cassandra:
apigee-service apigee-cassandra uninstall
- 对集群中的其他 Cassandra 节点重复执行此操作。
ZooKeeper
请参阅以下步骤来替换 Zookeeper 节点。请考虑先替换跟随者节点,再替换领导者节点,以确保集群保持法定人数。
- 通过拍摄虚拟机快照(如果可能)备份节点,并为所有节点上的 Zookeeper 拍摄 Apigee 备份。
- 停止并卸载现有节点上的 ZooKeeper:
apigee-service apigee-zookeeper stop
apigee-service apigee-zookeeper uninstall
- 获取具有升级版操作系统的新节点。
- 应用 OS 专用前提条件。
- 下载所用 Apigee 版本的引导加载程序,运行引导加载程序以获取 apigee-service 并安装 apigee-setup。
- 更新配置文件,方法是移除过时/已删除的节点 IP 地址,并将其替换为 Zookeeper 的新节点 IP。如需了解详情,请参阅配置文件参考文档:
现有 ZK 配置
ZK_HOSTS="$IP1 $IP2 $IP3" ZK_CLIENT_HOSTS="$IP1 $IP2 $IP3"
更新了 ZK 配置
ZK_HOSTS="$IP1 $IP4 $IP3" ZK_CLIENT_HOSTS="$IP1 $IP4 $IP3"
- 使用更新后的配置文件在新节点上安装、设置并启动 Zookeeper:
/opt/apigee/apigee-setup/bin/setup.sh -p zk -f updatedConfigFile - 使用 updatedConfigFile 对现有 Zookeeper 节点进行更改:
/opt/apigee/apigee-setup/bin/setup.sh -p zk -f updatedConfigFile - 通过更新配置文件中的新 ZooKeeper 节点 IP,分别重新设置路由器、消息处理器、Qpid、Postgres 和管理服务器的现有节点:
/opt/apigee/apigee-setup/bin/setup.sh -p r|mp|qs|ps|ms|mo -f updatedConfigFile - 对所有 Zookeeper 节点重复此操作。
Postgres
本部分概述了一种零停机时间升级 Postgres 节点的方法,您将完成概述的步骤。后续各小节提供了有关如何完成每个步骤的详细说明。
- 将任何现有的备用节点替换为目标操作系统。
- 将新的备用节点提升为主节点。
- 停用旧主服务器。
- 继续替换其他备用节点。
建议在开始替换之前停止 edge-qpid-server,以尽可能减少可能丢失的分析消息。
apigee-service edge-qpid-server stop
备用
- 获取 edge-postgres-server 节点的 UUID:
curl http://pg_standby_ip:8084/v1/servers/self
- 停止 Postgres:
apigee-service edge-postgres-server stop
apigee-service apigee-postgresql stop
- 按照以下步骤从分析组中移除现有的 Postgres 备用实例。
- 卸载 apigee-postgres 和 postgres-server:
apigee-service edge-postgres-server uninstall
apigee-service apigee-postgresql uninstall
- 获取具有升级版操作系统的新节点。
- 应用特定于操作系统的必备条件。
- 下载所用 Apigee 版本的引导加载程序,运行引导加载程序以获取 apigee-service 并安装 apigee-setup。
- 通过使用 EXISTING_PG_MASTER_IP 和 NEW_PG_STANDBY_IP 更新配置文件,在现有主服务器上设置主服务器-备用服务器复制。如需了解详情,请参阅配置文件参考文档:
PG_MASTER=EXISTING_PG_MASTER_IP
PG_STANDBY=NEW_PG_STANDBY_IP
apigee-service apigee-postgresql setup-replication-on-master -f updatedConfigFile
- 在新备用节点上安装、设置并启动具有主备配置的 Postgres:
PG_MASTER=EXISTING_PG_MASTER_IP
PG_STANDBY=NEW_PG_STANDBY_IP
/opt/apigee/apigee-setup/bin/setup.sh -p ps -f updatedConfigFile - 验证备用设置:
apigee-service apigee-postgresql postgres-check-standby
主实例
- 获取现有 Postgres 主节点的 UUID:
curl http://pg_ip:8084/v1/servers/self
- 将升级后的新操作系统备用节点提升为主节点。
- 停止现有主实例上的 Postgres:
apigee-service apigee-postgresql stop
apigee-service edge-postgres-server stop
- 将新的备用节点提升为主节点:
apigee-service apigee-postgresql promote-standby-to-master EXISTING_PG_MASTER_IP
- 从分析和使用方群组中移除旧主节点。
- 将新主节点添加到分析组和消费组。
- 如果使用创收功能,请更新新的 Postgres 主节点,并执行以下步骤。
- 替换主节点后,可以使用更新后的主节点配置启动 edge-qpid-server:
apigee-service edge-qpid-server start
- 如果您使用创收功能,请同时重启管理服务器和消息处理器:
apigee-service edge-management-server restart
- 在旧主节点上停止并卸载 apigee-postgres 和 postgres-server:
apigee-service edge-postgres-server uninstall
apigee-service apigee-postgresql uninstall
添加了新的待机
- 获取具有升级版操作系统的新节点。
- 应用特定于操作系统的必备条件。
- 下载所用 Apigee 版本的引导加载程序,运行引导加载程序以获取 apigee-service 并安装 apigee-setup。
- 在新主节点和新备用节点配置文件中使用新主节点 IP 和新备用节点 IP 设置主备复制。如需了解详情,请参阅配置文件参考文档:
apigee-service apigee-postgresql setup-replication-on-master -f updatedConfigFile
- 在新备用节点上安装并设置:
/opt/apigee/apigee-setup/bin/setup.sh -p ps -f updatedConfigFile - 按照主备设置步骤将新的备用实例添加到分析组。
LDAP
替换 LDAP 节点需要停止管理服务器,并且在替换此节点期间,任何管理 API 都将被视为不可用。
- 停止所有节点上的管理服务器:
apigee-service edge-management-server stop
- 停用现有 LDAP 节点:
- 对 LDAP 节点进行虚拟机级备份/快照。
- 在停止 LDAP 之前,请务必捕获 LDAP 数据计数,以便稍后进行验证,例如:
ldapsearch -o ldif-wrap=no -b "dc=apigee,dc=com" -D "cn=manager,dc=apigee,dc=com" -H ldap://:10389 -LLL -x -w Secret123 | wc -l
- 对于主动-被动设置:
- 通过在被动节点上添加包含以下内容的
mark_writable.ldif文件,将当前被动节点更改为主动节点:dn: olcDatabase={2}bdb,cn=config changetype: modify replace: olcReadOnly olcReadOnly: FALSE
- 在被动节点上执行以下命令,使其成为主动节点:
ldapmodify -a -x -w "$APIGEE_LDAPPW" -D "$CONFIG_BIND_DN" -H "ldap://:10389" -f mark_writable.ldif
- 对于主动-主动配置,请继续执行步骤 d) 以停用节点。
- 通过在被动节点上添加包含以下内容的
- 在主动-主动 LDAP 设置中,中断两个 LDAP 节点之间的复制并更新配置。按照 LDAP 停用文档中列出的步骤操作。
- 停止并备份 LDAP 数据,然后卸载现有 LDAP 节点(如果已完成,则跳过主动-主动设置):
apigee-service apigee-openldap stop
apigee-service apigee-openldap backup
apigee-service apigee-openldap uninstall
- 获取具有升级版操作系统的新节点。
- 应用 OS 专用前提条件。
- 下载所用 Apigee 版本的引导加载程序,运行引导加载程序以获取 apigee-service 并安装 apigee-setup。
- 设置新的 LDAP 节点:
- 根据设置更新新节点的 configFile,您可以参阅 Edge 配置文件参考,根据仅主动或主动-主动设置:
LDAP_TYPELDAP_PEERLDAP_SIDUSE_LDAP_REMOTE_HOST=y/n
- 使用 updatedConfigFile 在新节点上设置并启动 LDAP:
/opt/apigee/apigee-setup/bin/setup.sh -p ld -f updatedConfigFile - 备份旧节点中的 LDAP 数据(如果可以跳过主动-主动设置):
- 在新节点上进行一次备份,以便生成默认备份文件夹/路径:
apigee-service apigee-openldap backup
- 将备份的数据从旧节点移至生成的备份文件夹。
- 在恢复数据之前,请停止 apigee-openldap:
apigee-service apigee-openldap stop
- 恢复从旧节点获取的备份:
apigee-service apigee-openldap restore backup_file
例如:
apigee-service apigee-openldap restore 2026.02.09,10.28.20
- 在新节点上进行一次备份,以便生成默认备份文件夹/路径:
- 根据设置更新新节点的 configFile,您可以参阅 Edge 配置文件参考,根据仅主动或主动-主动设置:
- 针对其他 LDAP 节点(如果为主动-主动)重复上述步骤。
- 使用更新后的 LDAP 主机配置重新设置并启动管理服务器:
/opt/apigee/apigee-setup/bin/setup.sh -p mt -f updatedConfigFile - 重置并启动 SSO(如适用):
apigee-service apigee-sso setup -f updatedConfigFile
apigee-service apigee-sso restart
- (可选)按照文档中的步骤将第二个 Active Directory 配置为只读。
Qpid
如需将现有 Qpid 节点替换为升级后的操作系统节点,我们需要确保执行以下步骤:
- 停止从消息处理器接收任何发送到现有节点队列的消息。
- 排空队列中的现有消息。
- 停止并停用现有节点。
停用现有节点。为确保不会丢失任何邮件,请采取以下额外措施:
- 停止 Qpid 代理:
apigee-service apigee-qpidd stop
- 阻止来自所有消息处理器的端口 5672 上的入站流量:
iptables -A INPUT -p tcp --dport 5672 -s MP_IP -j DROP
- 再次启动 Qpid 代理以清空现有消息:
apigee-service apigee-qpidd start
- 在开始退役之前,请确保队列中的所有消息都已发送给消费者。
- 获取 edge-qpid-server 节点的 UUID:
curl http://qpid_node_ip:8083/v1/servers/self
- 完成 apigee-qpidd 和 edge-qpid-server 的 从分析中退役或移除 Qpid 的步骤。
- 停止并卸载 apigee-qpidd 和 edge-qpid-server:
apigee-service apigee-qpidd stop
apigee-service edge-qpid-server stop
apigee-service apigee-qpidd uninstall
apigee-service edge-qpid-server uninstall
添加新节点:
- 获取具有升级版操作系统的新节点。
- 应用 OS 专用前提条件。
- 下载所用 Apigee 版本的引导加载程序,运行引导加载程序以获取 apigee-service 并安装 apigee-setup。
- 在新节点上设置并运行 Qpid 服务,然后按照以下步骤将这些服务添加到消费者群组。您可以按照相同的步骤添加其他群组,例如用于创收的群组。
- 如果启用了创收服务,请重启管理服务器和消息处理器:
apigee-service edge-management-server restart
apigee-service edge-message-processor restart
- 在所有 Qpid 节点上重复此操作。
消息处理器
- 获取 edge-message-processor 节点的 UUID:
curl http://mp_ip:8082/v1/servers/self
- 停用并卸载消息处理器节点。
- 如果已启用创收服务,请卸载 edge-mint-message-processor。
- 卸载消息处理器:
apigee-service edge-message-processor uninstall
- 获取具有升级版操作系统的新节点。
- 应用特定于操作系统的必备条件。
- 下载所用 Apigee 版本的引导加载程序,运行引导加载程序以获取 apigee-service 并安装 apigee-setup。
- 按照相应步骤,向集群添加、设置和启动消息处理器。
- 如果启用了创收功能,请设置创收服务以及消息处理器。如需了解详情,请参阅以下文档。
路由器
- 获取 edge-router 节点的 UUID:
curl http://router_ip:8081/v1/servers/self
- 停用可连接性并验证其是否可连接:
iptables -A INPUT -i eth0 -p tcp --dport 15999 -j REJECT
curl -vvv -X GET http://router_ip:15999/v1/servers/self/reachable
- 退役并卸载路由器节点。
- 卸载路由器:
apigee-service edge-router uninstall
- 获取具有升级版操作系统的新节点。
- 应用 OS 专用前提条件。
- 下载所用 Apigee 版本的引导加载程序,运行引导加载程序以获取 apigee-service 并安装 apigee-setup。
- 向集群添加、设置和启动路由器。
管理服务器
仅限单个管理服务器
- 获取具有升级版操作系统的新节点。
- 应用特定于操作系统的必备条件。
- 下载所用 Apigee 版本的引导加载程序,运行引导加载程序以获取 apigee-service 并安装 apigee-setup。
- 使用更新后的 IP 和配置文件(可在此处查看)添加管理服务器,然后运行设置命令:
/opt/apigee/apigee-setup/bin/setup.sh -p mt -f updatedConfigFile - 使用新的管理 IP 配置重新设置并重启界面。
/opt/apigee/apigee-setup/bin/setup.sh -p ui -f updatedConfigFile - 使用新的管理 IP 配置重新设置单点登录(如果适用):
/opt/apigee/apigee-setup/bin/setup.sh -p sso -f updatedConfigFile - 使用新的管理 IP 配置重新设置新界面 (UE)(如果适用):
/opt/apigee/apigee-setup/bin/setup.sh -p ue -f updatedConfigFile - 如果已启用创收功能:
- 使用新的管理 IP 配置(如果适用)重新设置创收 MS,请参阅创收配置文档。
/opt/apigee/apigee-setup/bin/setup.sh -p mo -f updatedConfigFile - 重启管理服务器:
apigee-service edge-management-server restart
- 使用新的管理 IP 配置(如果适用)重新设置创收 MS,请参阅创收配置文档。
- 按照相应步骤,在现有/旧节点上停用管理服务器。
- 如果已启用创收功能,请从分析组中移除管理服务器 UUID。示例:
curl -v -u AdminEmail:AdminPassword -X DELETE "http://localhost:8080/v1/analytics/groups/ax/mint_axgroup/servers?uuid=MS_UUID&type=consumer-server"
- 卸载创收管理服务器:
apigee-service edge-mint-management-server uninstall
多个管理服务器
- 使用现有节点上的另一个管理服务器停用一个管理服务器,按照相应步骤操作。
- 停止并卸载管理服务器:
apigee-service edge-management-server stop
apigee-service edge-management-server uninstall
- 获取具有升级版操作系统的新节点。
- 应用 OS 专用前提条件。
- 下载所用 Apigee 版本的引导加载程序,运行引导加载程序以获取 apigee-service 并安装 apigee-setup。
- 使用更新后的 IP 和配置文件(可在此处查看)添加管理服务器,然后运行设置命令:
/opt/apigee/apigee-setup/bin/setup.sh -p mt -f updatedConfigFile - 使用更新后的管理 IP 配置重新设置并重启界面:
/opt/apigee/apigee-setup/bin/setup.sh -p ui -f updatedConfigFile - (仅在启用单点登录时)使用更新后的管理 IP 配置重新设置并重启单点登录:
/opt/apigee/apigee-setup/bin/setup.sh -p sso -f updatedConfigFile - (仅当启用新界面时)使用更新后的管理 IP 配置重新设置并重启新界面:
/opt/apigee/apigee-setup/bin/setup.sh -p ue -f updatedConfigFile - 对其他管理服务器重复上述步骤。
界面/用户体验
- 备份界面节点/创建界面节点的虚拟机快照。
- 停止并卸载界面:
apigee-service edge-ui stop
apigee-service edge-ui uninstall
- (仅在使用新界面时)停止并卸载新界面:
apigee-service edge-management-ui stop
apigee-service edge-management-ui uninstall
- 获取具有升级版操作系统的新节点。
- 应用特定于操作系统的必备条件。
- 下载所用 Apigee 版本的引导加载程序,运行引导加载程序以获取 apigee-service 并安装 apigee-setup。
- 在新节点上设置并运行 edge-ui,并使用更新后的 IP 配置:
/opt/apigee/apigee-setup/bin/setup.sh -p ui -f updatedConfigFile - (仅在启用 SSO 时)根据需要,使用界面新节点 IP 配置重新设置并运行 SSO:
/opt/apigee/apigee-setup/bin/setup.sh -p sso -f updatedConfigFile - (仅当启用新界面时)在新节点上设置并运行新界面,并更新 IP 配置:
/opt/apigee/apigee-setup/bin/setup.sh -p ue -f updatedConfigFileapigee-service edge-management-ui configure-sso -f updatedConfigFile
apigee-service edge-ui configure-sso -f updatedConfigFile
SSO
- 备份界面节点/创建界面节点的虚拟机快照。
- 停止并卸载 SSO:
apigee-service apigee-sso stop
apigee-service apigee-sso uninstall
- 获取具有升级版操作系统的新节点。
- 应用特定于操作系统的必备条件。
- 下载所用 Apigee 版本的引导加载程序,运行引导加载程序以获取 apigee-service 并安装 apigee-setup。
- 按照指南添加 SSO 的配置和密钥,同时考虑新的节点 IP。
- 设置并启动单点登录:
/opt/apigee/apigee-setup/bin/setup.sh -p sso -f updatedConfigFile - 使用新的 SSO 节点 IP 更新配置,并为界面重新配置 SSO:
apigee-service edge-ui configure-sso -f updatedConfigFile
- (如果使用新界面)在新界面节点上运行 configure-sso,请参阅文档:
apigee-service edge-management-ui configure-sso -f updatedConfigFile
apigee-service edge-ui configure-sso -f updatedConfigFile