Preparing to install an active-active configuration

Use this information to prepare to install IBM® Cloud Pak for Network Automation in an active-active configuration.

When you install in an active-active configuration, you install in a similar way as for a single-cluster installation. However, the first steps that you take are to install the orchestration manager operator and update the custom resource on the first cluster. You don't create an instance on the first cluster until later.

Before you install, you must complete some tasks to prepare for the installation, including configuring storage, creating namespaces, setting up registries, and more. For information about how to prepare for installation, see Preparing to install IBM Cloud Pak for Network Automation Orchestration Manager.

After you install IBM Cloud Pak for Network Automation on cluster 1, you gather Vault, SymmetricDS, ZooKeeper, and Kafka data to use during the installation of other clusters. Cluster 1 becomes the SymmetricDS registration node, which is the node that subsequent clusters register with when you install them.

Services used to synchronize data across clusters

If IBM Cloud Pak for Network Automation is installed in an active-active configuration, each cluster must be able to communicate with all of the other clusters. The following services are used to synchronize data between all clusters:

Kafka
Data is synchronized by using Kafka MirrorMaker (MM2) on a Red Hat® OpenShift® Container Platform route. MM2 is provided by the Events operator (ibm-events-operator) in IBM Cloud Pak foundational services.
PostgreSQL
Data is synchronized by using SymmetricDS on a Red Hat OpenShift Container Platform route.
ZooKeeper
Kubernetes load-balancing services are used to synchronize data and balance workloads across all clusters. Each cluster has three ZooKeeper servers that help to synchronize data. The load-balancing services enable ZooKeeper to work as a single ensemble across all clusters. Each cluster is configured to assign external IP addresses to the load-balancing services.
Each ZooKeeper pod has a unique server ID. The network configuration must ensure that the ZooKeeper pods on each cluster can communicate with the IP addresses of the load-balancing services on the other, remote clusters. During the installation, you update the custom resources of a cluster with the server IDs, IP addresses, and port details of the ZooKeeper servers of the other, remote clusters.
Vault
Vault data is stored in PostgreSQL, but the decryption keys must be common across all clusters to enable reading of the Vault data.

The data synchronization services that are listed are installed and configured automatically when you install IBM Cloud Pak for Network Automation, and provide the correct multicluster information in the custom resource.

Configuring SymmetricDS

SymmetricDS is configured for replication, but you might need to adjust the configuration for your deployment and data type. You can configure SymmetricDS in the following ways:

  • Change the replication settings in the SymmetricDS schema in the PostgreSQL database. Most of the relevant settings are in the sym_channel and sym_trigger tables. For more information about the replication settings, see the data model information in the SymmetricDS documentation.
  • Change the engine settings in the spec.advanced.clusters.local.db.symmetricds.config section of the custom resource. For more information about the engine settings, see the runtime parameters information in the SymmetricDS documentation.