移除双数据中心部署

将您的 2DCDR 部署转换为 Kubernetes, OpenShift, 和 Cloud Pak for Integration 上的独立部署。

确保您已阅读并了解 2DCDR的概念。 请参阅 Kubernetes 和 OpenShift 上的两个数据中心热备用部署以及 2DCDR 和故障方案的关键概念
注:热备用 数据中心转换为独立数据中心时,将从其管理数据库中删除所有数据。 数据删除是为了防止出现 主动/主动 情况,在这种情况下, 热备用 会尝试与正式活动的数据中心也与之通信的现有门户网站,网关和分析子系统进行通信。
注: OpenShift® 用户:本主题中详细介绍的步骤使用 Kubernetes kubectl 命令。 在 OpenShift, 使用等效的 oc 命令来代替它。 如果您正在使用顶级 CR ,那么必须在顶级 CR 中编辑子系统的 multiSiteHA 部分,而不是直接在子系统 CR 中编辑。
注意:在转换为单机版时,必须将2DCDR系统端点更改为单机版,以避免出现新的健康检查问题。

临时转换为独立

某些 API Connect 维护操作 (例如 管理数据库复原 ) 要求临时禁用 2DCDR

要将 2DCDR 管理或门户网站子系统转换为独立,请执行以下步骤:
  1. 通过备份子系统 CR 来备份当前 2DCDR 配置。
    1. 在使用个别子系统 CR 的 Kubernetes 和 OpenShift 上,使用以下命令进行管理子系统 CR 备份:
      kubectl get mgmt -o yaml > mgmt_<dr status>_2dcdr_backup.yaml
      并使用以下命令进行门户网站 CR 备份:
      kubectl get ptl -o yaml > portal_<dr status>_2dcdr_backup.yaml
      其中 <dr status> 是子系统的当前 2DCDR 状态 (活动或 热备用)。
    2. 在使用顶级 CR 的 Cloud Pak for Integration 和 OpenShift 上,运行:
      kubectl get apiconnectcluster -o yaml > apic_<dr status>_2dcdr_backup.yaml
      其中 <dr status> 是子系统的当前 2DCDR 状态 (活动或 热备用)。 APIConnectCluster CR 包含管理子系统和门户网站子系统的 2DCDR 设置。
  2. 从管理子系统中除去 2DCDR 配置。 对于活动和 热备用,要执行的步骤有所不同:
    1. 活动管理子系统:
      1. 在使用个别子系统 CR 的 Kubernetes 和 OpenShift 上,运行:
        kubectl patch managementcluster <mgmt cr name> --type json -p='[{"op": "remove", "path": "/spec/multiSiteHA"}]'
      2. 在使用顶级 CR 的 Cloud Pak for Integration 和 OpenShift 上:
        kubectl patch apiconnectcluster <apic cr name> --type json -p='[{"op": "remove", "path": "/spec/management/multiSiteHA"}]'
    2. 热备用 管理子系统:
      要将管理子系统从 热备用 转换为独立管理子系统,必须在管理 CR 中的注释中确认接受此操作。 将 热备用 管理转换为独立管理的步骤包括:
      1. 在使用个别子系统 CR 的 Kubernetes 和 OpenShift 上,创建名为 remove-2dcdr-config-from-warm-standby.yaml的文件,并粘贴以下文本:
        metadata:
          annotations:
            apiconnect-operator/dr-data-deletion-confirmation: "true"
        spec:
          multiSiteHA: null
        使用以下命令将文件应用于管理 CR:
        kubectl patch managementcluster <mgmt cr name> --type merge --patch "$(cat remove-2dcdr-config-from-warm-standby.yaml)"
      2. 在使用顶级 CR 的 Cloud Pak for Integration 和 OpenShift 上,创建名为 remove-2dcdr-config-from-warm-standby.yaml 的文件并粘贴以下文本:
        metadata:
          annotations:
            apiconnect-operator/dr-data-deletion-confirmation: "true"
        spec:
          management:
            multiSiteHA: null
        使用以下命令将文件应用于顶级 CR:
        kubectl patch apiconnectcluster <mgmt cr name> --type merge --patch "$(cat remove-2dcdr-config-from-warm-standby.yaml)"
  3. 从门户网站子系统中除去 2DCDR 配置:
    1. 在使用个别子系统 CR 的 Kubernetes 和 OpenShift 上,运行:
      kubectl patch portalcluster <portal CR name> --type json -p='[{"op": "remove", "path": "/spec/multiSiteHA"}]'
      删除 spec.multiSiteHA 部分。
    2. 在使用顶级 CR 的 Cloud Pak for Integration 和 OpenShift 上,运行:
      kubectl patch apiconnectcluster <apic cr name> --type json -p='[{"op": "remove", "path": "/spec/portal/multiSiteHA"}]'
  4. 完成需要临时转换为独立操作的维护操作,例如 管理数据库复原
  5. 通过将 multiSiteHA 部分添加回子系统 CR 来复原 2DCDR 配置。 您可以通过从您在步骤 1中获取的备份文件复制 multiSiteHA 节,并将其粘贴到相应的 CR 中来复原这些节:
    1. 在使用个别子系统 CR 的 Kubernetes 和 OpenShift 上:
      1. 编辑管理 CR:
        kubectl edit mgmt
        并粘贴备份中的 multiSiteHA 部分 mgmt_<dr status>_2dcdr_backup.yaml
      2. 编辑门户网站 CR:
        kubectl edit ptl
        并粘贴备份中的 multiSiteHA 部分 portal_<dr status>_2dcdr_backup.yaml
    2. 在使用顶级 CR 的 Cloud Pak for Integration 和 OpenShift 上,编辑顶级 CR:
      kubectl edit apiconnectcluster
      并在 spec.management.multiSiteHA中,粘贴 apic_<dr status>_2dcdr_backup.yaml 的相应 multiSiteHA 部分中的内容

永久还原为独立

如果要还原到单个数据中心拓扑:
  1. 决定要保留哪个数据中心。 如果该数据中心不是当前的活动数据中心,则完成故障切换操作,使其成为活动中心:故障切换到热备用
  2. 从活动数据中心上的管理子系统 CR 中除去 2DCDR 配置部分。
    1. 在使用个别子系统 CR 的 Kubernetes 和 OpenShift 上,运行:
      kubectl patch managementcluster <mgmt cr name> --type json -p='[{"op": "remove", "path": "/spec/multiSiteHA"}]'
    2. 在使用顶级 CR 的 Cloud Pak for Integration 和 OpenShift 上,运行:
      kubectl patch apiconnectcluster <apic cr name> --type json -p='[{"op": "remove", "path": "/spec/management/multiSiteHA"}]'
  3. 从门户网站子系统中除去 2DCDR 配置:
    1. 在使用个别子系统 CR 的 Kubernetes 和 OpenShift 上,运行:
      kubectl patch portalcluster <portal CR name> --type json -p='[{"op": "remove", "path": "/spec/multiSiteHA"}]'
      删除 spec.multiSiteHA 部分。
    2. 在使用顶级 CR 的 Cloud Pak for Integration 和 OpenShift 上,运行:
      kubectl patch apiconnectcluster <apic cr name> --type json -p='[{"op": "remove", "path": "/spec/portal/multiSiteHA"}]'
  4. 您执行的下一个操作取决于您要对 热备用 数据中心执行的操作:
    1. 如果要永久还原到单个数据中心拓扑,请卸载 热备用 数据中心上的 API Connect 。 请参阅:卸载API Connect
    2. 保持 热备用 状态,以防您决定将独立数据中心还原为 2DCDR 处于活动状态。
    3. 热备用 子系统转换为独立子系统。 此操作将擦除管理和门户网站数据库中的所有数据。
      要将管理子系统从 热备用 转换为独立管理子系统,必须在管理 CR 中的注释中确认接受此操作。 将 热备用 管理转换为独立管理的步骤包括:
      1. 在使用个别子系统 CR 的 Kubernetes 和 OpenShift 上,创建名为 remove-2dcdr-config-from-warm-standby.yaml的文件,并粘贴以下文本:
        metadata:
          annotations:
            apiconnect-operator/dr-data-deletion-confirmation: "true"
        spec:
          multiSiteHA: null
        使用以下命令将文件应用于管理 CR:
        kubectl patch managementcluster <mgmt cr name> --type merge --patch "$(cat remove-2dcdr-config-from-warm-standby.yaml)"
      2. 在使用顶级 CR 的 Cloud Pak for Integration 和 OpenShift 上,创建名为 remove-2dcdr-config-from-warm-standby.yaml 的文件并粘贴以下文本:
        metadata:
          annotations:
            apiconnect-operator/dr-data-deletion-confirmation: "true"
        spec:
          management:
            multiSiteHA: null
        使用以下命令将文件应用于顶级 CR:
        kubectl patch apiconnectcluster <mgmt cr name> --type merge --patch "$(cat remove-2dcdr-config-from-warm-standby.yaml)"
      要将门户网站从 热备用 转换为独立门户网站,请从门户网站 CR 中手动除去 spec.multiSiteHA 部分:
      1. 在使用个别子系统 CR 的 Kubernetes 和 OpenShift 上,运行:
        kubectl edit ptl
        删除 spec.multiSiteHA 部分。
      2. 在使用顶级 CR 的 Cloud Pak for Integration 和 OpenShift 上,运行:
        kubectl edit apiconnectcluster
        删除 spec.portal.multiSiteHA 部分。