Skip to main content
Version: 2.2.0

Deploy RnR Recording namespace

  • Navigate to manifest/recording folder
  • Fullfil and correct variables in recording-configmap.yml and debezium-rtus-configmap.yml

Debezium deployment

  • For each live database, there will be a debezium deployment. All of them have to have the same subject for nats connector. Need to focus on the debezium.source.topic.prefix and debezium.sink.nats-jetstream.subjects config in debezium configmap.
    • For example, if we have 2 live databases: live_db_1 and live_db_2, we should setup 2 debezium connectors with different debezium.source.slot.name but the same nats configuration.
      • live_db_1
        • debezium.source.slot.name: live_db_1_slot
        • debezium.source.topic.prefix: aoh.live.postgres
        • debezium.sink.nats-jetstream.subjects: aoh.live.postgres.*.*
      • live_db_2
        • debezium.source.slot.name: live_db_2_slot
        • debezium.source.topic.prefix: aoh.live.postgres
        • debezium.sink.nats-jetstream.subjects: aoh.live.postgres.*.*
      • debezium.source.topic.prefix and debezium.sink.nats-jetstream.subjects should be the same for all live databases.
      • NATS_DEBEZIUM_SUBJECT in transform msg module should be aoh.live.postgres.*
info

Configration: Config

  • Create a recording configmap
kubectl apply -f recording-configmap.yml
  • Create a debezium-rtus-configmap
kubectl apply -f debezium-rtus-configmap.yml
  • Create a debezium for rtus deployment
kubectl apply -f debezium-rtus-deployment.yml
  • Create a recording deployment
kubectl apply -f recording-deployment.yml
  • Create a recording service (for scheudlejob configuration API)
kubectl apply -f schedulejob-service.yaml
  • There is a new configmap for RnR recording namespace, that is live-db-configmap.yaml. This including the live databases information. The configmap is used to store the live databases information, and it will be used by the schedulejob to take snapshot of the live databases.
kubectl apply -f live-db-configmap.yaml