Chapter 9. Managing XDCR Clusters in Kubernetes

Documentation

VoltDB Home » Documentation » VoltDB Kubernetes Administrator's Guide

Chapter 9. Managing XDCR Clusters in Kubernetes

Once you have configured your XDCR clusters and your network environment, you are ready to start the clusters. You begin by starting two of the clusters. (Remember, only one of the clusters can have data in the DR tables before the XDCR communication begins.) Once the schema of the DR tables in two databases match, synchronization starts. After the initial two databases are synchronized, you can start additional XDCR clusters, one at a time.

There are several management procedures that help keep the clusters in sync, especially when shutting down or removing clusters from the XDCR environment. In other environments, these procedures use voltadmin commands, such as shutdown, dr drop and dr reset. In Kubernetes, you execute these procedures through the VoltDB Operator using Helm properties. Activities include:

  • Removing a cluster temporarily

  • Removing a cluster permanently

  • Resetting XDCR when a cluster is lost

  • Rejoining a cluster that was removed

9.1. Removing a Cluster Temporarily

If you want to remove a cluster from the XDCR environment temporarily, you simply shutdown the cluster normally, by setting the number of replicas to zero. This way, when the cluster restarts, the command logs will take care of recovering all of the data and re-establishing the XDCR "conversations" with the other clusters:

--set cluster.clusterSpec.replicas=0