针对 Apigee Edge for Private Cloud 的节点级操作系统升级

您正在查看 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 节点的步骤:

  1. 通过截取虚拟机快照(如果可能)备份节点,并使用以下命令在所有节点上为 Cassandra 执行 Apigee 备份:
    apigee-service apigee-cassandra backup
  2. 获取具有升级版操作系统的新节点。
  3. 应用特定于操作系统的必备条件。
  4. 下载并运行 Edge 文件,以安装 apigee-service 实用程序。正在使用的 Apigee 版本的引导加载程序,运行引导加载程序以获取 apigee-service 并安装 apigee-setup。
  5. 列出种子节点:
    apigee-service apigee-cassandra configure -search conf_cassandra_seeds
  6. 通过更改现有 Cassandra 节点的 IP 并将其替换为新节点 IP 地址来更新配置文件。

    现有的 CASS_HOSTS

    CASS_HOSTS="$IP1 $IP2 $IP3"

    新近更新了 CASS_HOSTS

    CASS_HOSTS="$IP1 $IP4 $IP3"
  7. 使用更新后的新 Cassandra 节点 IP 重新配置集群上的现有节点(要替换的节点除外)。请参阅配置文件参考文档。
    /opt/apigee/apigee-setup/bin/setup.sh -p c -f updatedConfigFile
  8. 停止并取消注册旧节点上的 Cassandra:
    1. 停止要替换的节点上的 Cassandra:
      apigee-service apigee-cassandra stop
    2. 列出要停用的 Cassandra 节点的 UUID(如果存在多个数据中心,请相应地考虑):
      apigee-adminapi.sh servers list -r dc-1 -p central -t application-datastore --admin AdminEmailID --pwd 'AdminPassword' --host localhost
    3. 取消注册与现有 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&region=dc-1&pod=central&uuid=old_cassandra_uuid&action=remove"
    4. 删除服务器。
      curl -u AdminEmailID:AdminPassword -X DELETE http://MS_IP:8080/v1/servers/old_cassandra_uuid
  9. 为 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
  10. 确认 cassandra.properties 文件中的所有者和群组已设置为 apigee:apigee。如果需要,请使用以下命令更新所有者和群组:
    chown apigee:apigee /opt/apigee/customer/application/cassandra.properties
  11. 在新添加的节点上安装 Cassandra 并运行设置:
    apigee-service apigee-cassandra install
    apigee-service apigee-cassandra setup -f updatedConfigFile
  12. 设置新节点后,移除添加到 /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
  13. 检查新替换的节点的状态:
    apigee-service apigee-cassandra status
    /opt/apigee/apigee-cassandra/bin/nodetool status
  14. 重新构建添加到集群中的新节点:
    /opt/apigee/apigee-cassandra/bin/nodetool rebuild -dc dc-1
  15. 通过更新配置文件中的新 Cassandra 节点 IP,分别重新设置路由器、Message-Processor、Qpid、Postgres 和管理服务器的现有节点:
    /opt/apigee/apigee-setup/bin/setup.sh -p r|mp|qs|ps|ms|mo -f updatedConfigFile
  16. 从旧节点中移除/卸载 Cassandra:
    apigee-service apigee-cassandra uninstall
  17. 对集群中的其他 Cassandra 节点重复执行此操作。

ZooKeeper

请参阅以下步骤来替换 Zookeeper 节点。请考虑先替换跟随者节点,再替换领导者节点,以确保集群保持法定人数。

  1. 通过拍摄虚拟机快照(如果可能)备份节点,并为所有节点上的 Zookeeper 拍摄 Apigee 备份。
  2. 停止并卸载现有节点上的 ZooKeeper:
    apigee-service apigee-zookeeper stop
    apigee-service apigee-zookeeper uninstall
  3. 获取具有升级版操作系统的新节点。
  4. 应用 OS 专用前提条件。
  5. 下载所用 Apigee 版本的引导加载程序,运行引导加载程序以获取 apigee-service 并安装 apigee-setup。
  6. 更新配置文件,方法是移除过时/已删除的节点 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"
        
  7. 使用更新后的配置文件在新节点上安装、设置并启动 Zookeeper:
    /opt/apigee/apigee-setup/bin/setup.sh -p zk -f updatedConfigFile
  8. 使用 updatedConfigFile 对现有 Zookeeper 节点进行更改:
    /opt/apigee/apigee-setup/bin/setup.sh -p zk -f updatedConfigFile
  9. 通过更新配置文件中的新 ZooKeeper 节点 IP,分别重新设置路由器、消息处理器、Qpid、Postgres 和管理服务器的现有节点:
    /opt/apigee/apigee-setup/bin/setup.sh -p r|mp|qs|ps|ms|mo -f updatedConfigFile
  10. 对所有 Zookeeper 节点重复此操作。

Postgres

本部分概述了一种零停机时间升级 Postgres 节点的方法,您将完成概述的步骤。后续各小节提供了有关如何完成每个步骤的详细说明。

  • 将任何现有的备用节点替换为目标操作系统。
  • 将新的备用节点提升为主节点。
  • 停用旧主服务器。
  • 继续替换其他备用节点。

建议在开始替换之前停止 edge-qpid-server,以尽可能减少可能丢失的分析消息。

apigee-service edge-qpid-server stop

备用

  1. 获取 edge-postgres-server 节点的 UUID:
    curl http://pg_standby_ip:8084/v1/servers/self
  2. 停止 Postgres:
    apigee-service edge-postgres-server stop
    apigee-service apigee-postgresql stop
  3. 按照以下步骤从分析组中移除现有的 Postgres 备用实例。
  4. 卸载 apigee-postgres 和 postgres-server:
    apigee-service edge-postgres-server uninstall
    apigee-service apigee-postgresql uninstall
  5. 获取具有升级版操作系统的新节点。
  6. 应用特定于操作系统的必备条件。
  7. 下载所用 Apigee 版本的引导加载程序,运行引导加载程序以获取 apigee-service 并安装 apigee-setup。
  8. 通过使用 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
  9. 在新备用节点上安装、设置并启动具有主备配置的 Postgres:
    PG_MASTER=EXISTING_PG_MASTER_IP
    PG_STANDBY=NEW_PG_STANDBY_IP
    /opt/apigee/apigee-setup/bin/setup.sh -p ps -f updatedConfigFile
  10. 验证备用设置:
    apigee-service apigee-postgresql postgres-check-standby

主实例

  1. 获取现有 Postgres 主节点的 UUID:
    curl http://pg_ip:8084/v1/servers/self
  2. 将升级后的新操作系统备用节点提升为主节点。
  3. 停止现有主实例上的 Postgres:
    apigee-service apigee-postgresql stop
    apigee-service edge-postgres-server stop
  4. 将新的备用节点提升为主节点:
    apigee-service apigee-postgresql promote-standby-to-master EXISTING_PG_MASTER_IP
  5. 从分析和使用方群组中移除旧主节点。
  6. 将新主节点添加到分析组和消费组。
  7. 如果使用创收功能,请更新新的 Postgres 主节点,并执行以下步骤。
  8. 替换主节点后,可以使用更新后的主节点配置启动 edge-qpid-server:
    apigee-service edge-qpid-server start
  9. 如果您使用创收功能,请同时重启管理服务器和消息处理器:
    apigee-service edge-management-server restart
  10. 在旧主节点上停止并卸载 apigee-postgres 和 postgres-server:
    apigee-service edge-postgres-server uninstall
    apigee-service apigee-postgresql uninstall

添加了新的待机

  1. 获取具有升级版操作系统的新节点。
  2. 应用特定于操作系统的必备条件。
  3. 下载所用 Apigee 版本的引导加载程序,运行引导加载程序以获取 apigee-service 并安装 apigee-setup。
  4. 在新主节点和新备用节点配置文件中使用新主节点 IP 和新备用节点 IP 设置主备复制。如需了解详情,请参阅配置文件参考文档:
    apigee-service apigee-postgresql setup-replication-on-master -f updatedConfigFile
  5. 在新备用节点上安装并设置:
    /opt/apigee/apigee-setup/bin/setup.sh -p ps -f updatedConfigFile
  6. 按照主备设置步骤将新的备用实例添加到分析组。

LDAP

替换 LDAP 节点需要停止管理服务器,并且在替换此节点期间,任何管理 API 都将被视为不可用。

  1. 停止所有节点上的管理服务器:
    apigee-service edge-management-server stop
  2. 停用现有 LDAP 节点:
    1. 对 LDAP 节点进行虚拟机级备份/快照。
    2. 在停止 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
    3. 对于主动-被动设置:
      1. 通过在被动节点上添加包含以下内容的 mark_writable.ldif 文件,将当前被动节点更改为主动节点:
        dn: olcDatabase={2}bdb,cn=config
        changetype: modify
        replace: olcReadOnly
        olcReadOnly: FALSE
      2. 在被动节点上执行以下命令,使其成为主动节点:
        ldapmodify -a -x -w "$APIGEE_LDAPPW" -D "$CONFIG_BIND_DN" -H "ldap://:10389" -f mark_writable.ldif
      3. 对于主动-主动配置,请继续执行步骤 d) 以停用节点。
    4. 在主动-主动 LDAP 设置中,中断两个 LDAP 节点之间的复制并更新配置。按照 LDAP 停用文档中列出的步骤操作。
    5. 停止并备份 LDAP 数据,然后卸载现有 LDAP 节点(如果已完成,则跳过主动-主动设置):
      apigee-service apigee-openldap stop
      apigee-service apigee-openldap backup
      apigee-service apigee-openldap uninstall
  3. 获取具有升级版操作系统的新节点。
  4. 应用 OS 专用前提条件。
  5. 下载所用 Apigee 版本的引导加载程序,运行引导加载程序以获取 apigee-service 并安装 apigee-setup。
  6. 设置新的 LDAP 节点:
    1. 根据设置更新新节点的 configFile,您可以参阅 Edge 配置文件参考,根据仅主动或主动-主动设置:
      • LDAP_TYPE
      • LDAP_PEER
      • LDAP_SID
      • USE_LDAP_REMOTE_HOST=y/n
    2. 使用 updatedConfigFile 在新节点上设置并启动 LDAP:
      /opt/apigee/apigee-setup/bin/setup.sh -p ld -f updatedConfigFile
    3. 备份旧节点中的 LDAP 数据(如果可以跳过主动-主动设置):
      1. 在新节点上进行一次备份,以便生成默认备份文件夹/路径:
        apigee-service apigee-openldap backup
      2. 将备份的数据从旧节点移至生成的备份文件夹。
      3. 在恢复数据之前,请停止 apigee-openldap:
        apigee-service apigee-openldap stop
      4. 恢复从旧节点获取的备份:
        apigee-service apigee-openldap restore backup_file

        例如:

        apigee-service apigee-openldap restore 2026.02.09,10.28.20
  7. 针对其他 LDAP 节点(如果为主动-主动)重复上述步骤。
  8. 使用更新后的 LDAP 主机配置重新设置并启动管理服务器:
    /opt/apigee/apigee-setup/bin/setup.sh -p mt -f updatedConfigFile
  9. 重置并启动 SSO(如适用):
    apigee-service apigee-sso setup -f updatedConfigFile
    apigee-service apigee-sso restart
  10. (可选)按照文档中的步骤将第二个 Active Directory 配置为只读。

Qpid

如需将现有 Qpid 节点替换为升级后的操作系统节点,我们需要确保执行以下步骤:

  1. 停止从消息处理器接收任何发送到现有节点队列的消息。
  2. 排空队列中的现有消息。
  3. 停止并停用现有节点。

停用现有节点。为确保不会丢失任何邮件,请采取以下额外措施:

  1. 停止 Qpid 代理:
    apigee-service apigee-qpidd stop
  2. 阻止来自所有消息处理器的端口 5672 上的入站流量:
    iptables -A INPUT -p tcp --dport 5672 -s MP_IP -j DROP
  3. 再次启动 Qpid 代理以清空现有消息:
    apigee-service apigee-qpidd start
  4. 在开始退役之前,请确保队列中的所有消息都已发送给消费者。
  5. 获取 edge-qpid-server 节点的 UUID:
    curl http://qpid_node_ip:8083/v1/servers/self
  6. 完成 apigee-qpidd 和 edge-qpid-server 的 从分析中退役或移除 Qpid 的步骤。
  7. 停止并卸载 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

添加新节点:

  1. 获取具有升级版操作系统的新节点。
  2. 应用 OS 专用前提条件。
  3. 下载所用 Apigee 版本的引导加载程序,运行引导加载程序以获取 apigee-service 并安装 apigee-setup。
  4. 在新节点上设置并运行 Qpid 服务,然后按照以下步骤将这些服务添加到消费者群组。您可以按照相同的步骤添加其他群组,例如用于创收的群组。
  5. 如果启用了创收服务,请重启管理服务器和消息处理器:
    apigee-service edge-management-server restart
    apigee-service edge-message-processor restart
  6. 在所有 Qpid 节点上重复此操作。

消息处理器

  1. 获取 edge-message-processor 节点的 UUID:
    curl http://mp_ip:8082/v1/servers/self
  2. 停用并卸载消息处理器节点。
  3. 如果已启用创收服务,请卸载 edge-mint-message-processor。
  4. 卸载消息处理器:
    apigee-service edge-message-processor uninstall
  5. 获取具有升级版操作系统的新节点。
  6. 应用特定于操作系统的必备条件。
  7. 下载所用 Apigee 版本的引导加载程序,运行引导加载程序以获取 apigee-service 并安装 apigee-setup。
  8. 按照相应步骤,向集群添加、设置和启动消息处理器。
  9. 如果启用了创收功能,请设置创收服务以及消息处理器。如需了解详情,请参阅以下文档。

路由器

  1. 获取 edge-router 节点的 UUID:
    curl http://router_ip:8081/v1/servers/self
  2. 停用可连接性并验证其是否可连接:
    iptables -A INPUT -i eth0 -p tcp --dport 15999 -j REJECT
    curl -vvv -X GET http://router_ip:15999/v1/servers/self/reachable
  3. 退役并卸载路由器节点。
  4. 卸载路由器:
    apigee-service edge-router uninstall
  5. 获取具有升级版操作系统的新节点。
  6. 应用 OS 专用前提条件。
  7. 下载所用 Apigee 版本的引导加载程序,运行引导加载程序以获取 apigee-service 并安装 apigee-setup。
  8. 向集群添加、设置和启动路由器。

管理服务器

仅限单个管理服务器

  1. 获取具有升级版操作系统的新节点。
  2. 应用特定于操作系统的必备条件。
  3. 下载所用 Apigee 版本的引导加载程序,运行引导加载程序以获取 apigee-service 并安装 apigee-setup。
  4. 使用更新后的 IP 和配置文件(可在此处查看)添加管理服务器,然后运行设置命令:
    /opt/apigee/apigee-setup/bin/setup.sh -p mt -f updatedConfigFile
  5. 使用新的管理 IP 配置重新设置并重启界面。
    /opt/apigee/apigee-setup/bin/setup.sh -p ui -f updatedConfigFile
  6. 使用新的管理 IP 配置重新设置单点登录(如果适用):
    /opt/apigee/apigee-setup/bin/setup.sh -p sso -f updatedConfigFile
  7. 使用新的管理 IP 配置重新设置新界面 (UE)(如果适用):
    /opt/apigee/apigee-setup/bin/setup.sh -p ue -f updatedConfigFile
  8. 如果已启用创收功能:
    1. 使用新的管理 IP 配置(如果适用)重新设置创收 MS,请参阅创收配置文档。
      /opt/apigee/apigee-setup/bin/setup.sh -p mo -f updatedConfigFile
    2. 重启管理服务器:
      apigee-service edge-management-server restart
  9. 按照相应步骤,在现有/旧节点上停用管理服务器。
  10. 如果已启用创收功能,请从分析组中移除管理服务器 UUID。示例:
    curl -v -u AdminEmail:AdminPassword -X DELETE "http://localhost:8080/v1/analytics/groups/ax/mint_axgroup/servers?uuid=MS_UUID&type=consumer-server"
  11. 卸载创收管理服务器:
    apigee-service edge-mint-management-server uninstall

多个管理服务器

  1. 使用现有节点上的另一个管理服务器停用一个管理服务器,按照相应步骤操作。
  2. 停止并卸载管理服务器:
    apigee-service edge-management-server stop
    apigee-service edge-management-server uninstall
  3. 获取具有升级版操作系统的新节点。
  4. 应用 OS 专用前提条件。
  5. 下载所用 Apigee 版本的引导加载程序,运行引导加载程序以获取 apigee-service 并安装 apigee-setup。
  6. 使用更新后的 IP 和配置文件(可在此处查看)添加管理服务器,然后运行设置命令:
    /opt/apigee/apigee-setup/bin/setup.sh -p mt -f updatedConfigFile
  7. 使用更新后的管理 IP 配置重新设置并重启界面:
    /opt/apigee/apigee-setup/bin/setup.sh -p ui -f updatedConfigFile
  8. (仅在启用单点登录时)使用更新后的管理 IP 配置重新设置并重启单点登录:
    /opt/apigee/apigee-setup/bin/setup.sh -p sso -f updatedConfigFile
  9. (仅当启用新界面时)使用更新后的管理 IP 配置重新设置并重启新界面:
    /opt/apigee/apigee-setup/bin/setup.sh -p ue -f updatedConfigFile
  10. 对其他管理服务器重复上述步骤。

界面/用户体验

  1. 备份界面节点/创建界面节点的虚拟机快照。
  2. 停止并卸载界面:
    apigee-service edge-ui stop
    apigee-service edge-ui uninstall
  3. (仅在使用新界面时)停止并卸载新界面:
    apigee-service edge-management-ui stop
    apigee-service edge-management-ui uninstall
  4. 获取具有升级版操作系统的新节点。
  5. 应用特定于操作系统的必备条件。
  6. 下载所用 Apigee 版本的引导加载程序,运行引导加载程序以获取 apigee-service 并安装 apigee-setup。
  7. 在新节点上设置并运行 edge-ui,并使用更新后的 IP 配置:
    /opt/apigee/apigee-setup/bin/setup.sh -p ui -f updatedConfigFile
  8. (仅在启用 SSO 时)根据需要,使用界面新节点 IP 配置重新设置并运行 SSO:
    /opt/apigee/apigee-setup/bin/setup.sh -p sso -f updatedConfigFile
  9. (仅当启用新界面时)在新节点上设置并运行新界面,并更新 IP 配置:
    /opt/apigee/apigee-setup/bin/setup.sh -p ue -f updatedConfigFile
    apigee-service edge-management-ui configure-sso -f updatedConfigFile
    apigee-service edge-ui configure-sso -f updatedConfigFile

SSO

  1. 备份界面节点/创建界面节点的虚拟机快照。
  2. 停止并卸载 SSO:
    apigee-service apigee-sso stop
    apigee-service apigee-sso uninstall
  3. 获取具有升级版操作系统的新节点。
  4. 应用特定于操作系统的必备条件。
  5. 下载所用 Apigee 版本的引导加载程序,运行引导加载程序以获取 apigee-service 并安装 apigee-setup。
  6. 按照指南添加 SSO 的配置和密钥,同时考虑新的节点 IP。
  7. 设置并启动单点登录:
    /opt/apigee/apigee-setup/bin/setup.sh -p sso -f updatedConfigFile
  8. 使用新的 SSO 节点 IP 更新配置,并为界面重新配置 SSO:
    apigee-service edge-ui configure-sso -f updatedConfigFile
  9. (如果使用新界面)在新界面节点上运行 configure-sso,请参阅文档:
    apigee-service edge-management-ui configure-sso -f updatedConfigFile
    apigee-service edge-ui configure-sso -f updatedConfigFile